在JQuery中自动取消绑定事件处理程序

时间:2012-05-24 15:07:26

标签: javascript jquery

有可能对JQuery说,嘿!在添加此事件处理程序之前取消绑定任何事件处理程序,而不显式调用unbind?。

这样的东西
$("jq selector").click(function() { ...}, true);

其中true表示我想取消绑定设置为元素的所有点击处理程序。 我在不同的场合遇到过这种情况,有些人因为没有先解决事件处理程序而有奇怪的行为。

感谢。

3 个答案:

答案 0 :(得分:5)

使用unbind方法

$("jq selector").unbind('click');

如果要删除与元素关联的所有事件,请调用unbind()不带参数,它将删除附加到元素的所有处理程序:

$("jq selector").unbind();

答案 1 :(得分:1)

$(selector).die("click").click(function() { ... });

答案 2 :(得分:0)

有很多方法可以做到这一点,但我相信正确的方法是:

$(selector).unbind("click").click(function() { ... });

我对Pointy的答案表示赞赏,他在评论中作了答复,但由于他没有将其作为答案添加,我将其分享给社区。