js事件多次绑定问题

1
需要重新绑定事件时,可以先把事件off掉,然后重新on
1
2
3
4
5
6
7
8
function  foo() {
     xxxx;
}
$( "#a" ).on( "click" , foo);
 
 
//需要重新绑定事件时,可以先把事件off掉,然后重新on
$( "#a" ).off( "click" , foo).on( "click" , foo);
// 其实这样子有些必须要传递函数的方法是不行的,如$("#a").off("click",foo,function(e){});
解决方案:
在会重复绑定该事件的方法中做以下判断:
if($("#a").__ta.click instanceof Object) continue;
也就是说如果一个元素已经绑定了该事件,你在这个元素的下级就能通过调试工具查看到这个事件,我用的是jsPlumb
所以就是.__ta.click,如果这个元素已经绑定了,那么.__ta.click就是一个Object,否则为undefined,所以通过
判断就可以阻止程序的再次绑定,如绑定了多次,效果如:一旦触发事件,事件函数会被多次执行。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值