在JQuery中自动取消绑定事件处理程序
可以对JQuery说,嘿! 在添加此事件之前解除所有事件处理程序的绑定,而不显式调用unbind?
就像是
$("jq selector").click(function() { ...}, true);
其中true表示我想取消绑定设置为元素的所有单击处理程序。 我在各种场合遇到过这种情况,并且由于没有首先解除事件处理程序,因此有些人会有奇怪的行为。
谢谢。
使用unbind
方法
$("jq selector").unbind('click');
如果要删除与元素关联的所有事件,请调用unbind()不带参数,它将删除附加到元素的所有处理程序:
$("jq selector").unbind();
$(selector).die("click").click(function() { ... });
有很多方法可以做到这一点,但我相信正确的方法是:
$(selector).unbind("click").click(function() { ... });
我对Pointy的回答给予了肯定,Pointy在评论中作了答复,但由于他没有将其作为答案添加,我将其分享给社区。