如何在成功的ajax请求后禁用onclick事件?

时间:2015-01-06 13:42:45

标签: javascript jquery html css ajax

我想在成功的ajax请求后禁用onclick事件

<div class="report_button" id="report_button" title="Reportthis" style="width:65px;height:15px;" onclick="reported_text(user_id,lead_id);">Report</div>

这是我的div,我想在点击后禁用div

function reported_text(user_id,lead_id){
    new Ajax.Request("/agent/report/lead-refund",
    {
        method:"POST",
        parameters:"user_id=" + user_id + "&lead_id=" + lead_id ,
        onSuccess: function(transport){
            alert("Thank you for Response");
            jQuery('#report_button').attr("disabled", "disabled");
        },
        onFailure: function(transport){

            $('tag_error_status').innerHTML = '';
            alert("Unsuccessful request processing. This will be rectified soon.");
        }
    });
}

有没有办法做到这一点。并且这个div用于许多用户,我必须这样做,以便它只对特定用户禁用。

3 个答案:

答案 0 :(得分:3)

 new Ajax.Request("/agent/report/lead-refund",
    {
        method:"POST",
        parameters:"user_id=" + user_id + "&lead_id=" + lead_id ,
        onSuccess: function(transport){
            alert("Thank you for Response");
            jQuery('#report_button').hide();
        },
        onFailure: function(transport){

            $('tag_error_status').innerHTML = '';
            alert("Unsuccessful request processing. This will be rectified soon.");
        }
    });

您可以使用隐藏功能执行此操作......或者您可以使用$("#report_button").attr("onclick","")

答案 1 :(得分:1)

取决于你如何添加听众尝试适合的人: 如果您使用$(document).on,请使用:

$(document).off("click", "#report_button");

如果您使用$(“#report_button”)。on然后使用:

$("#report_button").off

或只是使用:

$("#report_button").click(function(){ return false; });

答案 2 :(得分:0)

您可以像这样禁用点击:

document.getElementById("report_button").onmousedown = new function ("return false");

我在这里找到了这段代码link