当我想从提交按钮中删除点击处理程序时,我正在使用
$(#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)