是不是可以对JQuery说,哎!在添加此事件处理程序之前取消绑定任何事件处理程序,而无需显式调用 unbind?。
就像是
$("jq selector").click(function() { ...}, true);
其中 true 意味着我想取消绑定设置到元素的所有点击处理程序。我在各种场合都遇到过这种情况,并且由于没有首先解除绑定事件处理程序而出现一些奇怪的行为。
谢谢。
是不是可以对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,他在评论中回复,但由于他没有将其添加为答案,我将其分享给社区。