当我想从提交按钮中删除点击处理程序时,我正在使用

$(#submitBtn).off();//works fine


但是,当我想恢复到以前的状态时,.on()不起作用。

                if(flag){
               $(#submitBtn).off();//works fine
                $.ajax({
                    type: 'POST',
                    url: 'someservice.php',
                    data: {email:email,name:name,text:text},
                    success: function (data) {
                       $('#submitBtn').on();//does not work
                });//ajax end
            }

最佳答案

.off()


  调用不带参数的.off()会删除所有附加到元素的处理程序。通过提供事件名称,名称空间,选择器或处理程序功能名称的组合,可以删除元素上的特定事件处理程序。


.on()


  将一个或多个事件的事件处理函数附加到所选元素。它必须有参数-


.on( events [, selector ] [, data ], handler )




建议您不要使用按钮禁用逻辑,而不必进行绑定和解除绑定:.prop('disabled')

$('#submitBtn').prop('disabled',true)         //disable
$('#submitBtn').prop('disabled',false)        //enable


注意:ID选择器写为$('#submitBtn')而不是$(#submitBtn)

09-19 04:09