js事件多次绑定问题

来源:互联网 发布:口袋妖怪游戏作弊软件 编辑:程序博客网 时间:2024/05/17 07:56
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,所以通过
判断就可以阻止程序的再次绑定,如绑定了多次,效果如:一旦触发事件,事件函数会被多次执行。






0 0
原创粉丝点击