0

我通过以下方式禁用 jQuery 点击事件:

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

我该如何启用它?目的是避免双击并多次运行触发的功能。我想在按下其他按钮时恢复事件。

4

3 回答 3

1

有几个选项,但我最喜欢以下选项:

//disable
$("#button").bind('click', function() { return false; });

//enable
$("#button").unbind('click');

您还可以将按钮上的再次单击绑定到其他回调函数。最后,我可能会建议从点击事件中调用preventDefault该事件,具体取决于#button实际情况:

$("#button").bind('click', function(e) { 
    e.preventDefault();
    return false; 
});

正如 j08691 所指出的,从 jQuery 1.7 开始,它应该看起来像:

$("#button").on('click', function(e) { 
    e.preventDefault();
    return false; 
});
于 2013-01-09T18:16:49.143 回答
1

你也可以使用one

$("#button").one('click', function () { /* code here */ });

该事件在被调用一次后将自行解除绑定。

于 2013-01-09T18:19:14.313 回答
0

如果你这样做:

$("#button").unbind("click");

该按钮将再次工作,取消绑定功能会从所选元素中删除已注册的事件处理程序,如果您不向它传递参数,它将删除所有已注册的事件。

编辑:如评论中所述,您现在可以使用 on 和 off 方法:

$("#button").off("click")

禁用点击和:

 $("#button").on("click")

再次启用它们

于 2013-01-09T18:15:36.363 回答