教程集 www.jiaochengji.com
教程集 >  jQuery  >  jquery 教程  >  正文 分享:jquery事件重复绑定的解决办法

分享:jquery事件重复绑定的解决办法

发布时间:2015-11-20   编辑:jiaochengji.com
本文介绍下,在jquery编程中事件重复绑定问题的解决方法,有需要的朋友参考下吧。

说明:
javascript的事件,跟C#的事件类似,事件的绑定是叠加(+=)而不是覆盖。

例如:
 

复制代码 代码示例:
varEat=function(){
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()方法绑定新的事件。
 

复制代码 代码示例:
//先通过die()方法解除,再通过live()绑定
$(“#selectAll”).die().live(“click”,function(){
//事件运行代码
});
 

2,click等事件
解决:
使用unbind("click")方法,先解除绑定的事件,再绑定新事件。即在给对象绑定事件之前,先移除该对象上的原有事件。
 

复制代码 代码示例:
$("#test2").unbind('click').click(function(){
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代码优化 事件委托篇

[关闭]
~ ~