在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在评论中作了答复,但由于他没有将其作为答案添加,我将其分享给社区。