分享:jquery事件重复绑定的解决办法
说明:
javascript的事件,跟C#的事件类似,事件的绑定是叠加(+=)而不是覆盖。
例如:
alert("我要吃饭");}
varPayMoney=function(){
alert("先付钱");}
jquery(document).ready(function(){
$("#testButton").click(Eat); // www.jbxue.com
$("#testButton").bind("click",PayMoney);});
先弹出:“我要吃饭”紧接着会弹出“先付钱”,说明它的绑定是通过onclick+=fn进行的。
要想多次绑定事件,需要把之前的绑定统统解除。
1,$.fn.live重复绑定
解决:
使用die()方法,在live()方法绑定前,将此元素上的前面被绑定的事件统统解除,然后再通过live()方法绑定新的事件。
$(“#selectAll”).die().live(“click”,function(){
//事件运行代码
});
2,click等事件
解决:
使用unbind("click")方法,先解除绑定的事件,再绑定新事件。即在给对象绑定事件之前,先移除该对象上的原有事件。
alert("click解除绑定执行"+k+++"次");
});
您可能感兴趣的文章:
分享:jquery事件重复绑定的解决办法
jQuery中live方法的重复绑定说明
浅析jquery某一元素重复绑定的问题
jQuery 事件队列调整方法
jquery绑定事件不生效的解决方法
Jquery绑定事件(bind和live的区别介绍)
jQuery中绑定事件的命名空间详解
jQuery 2.0.3 源码分析 事件绑定 – bind/live/delegate/on
ajax更新数据后,jquery、jq失效问题
jQuery代码优化 事件委托篇