Jquery on方法绑定事件后执行多次
程序员文章站
2023-12-28 21:45:04
...
转自:https://blog.csdn.net/fun913510024/article/details/46971681 感谢
$(“.test-btn”).off(“click”); ,off方法解绑。
这两天工作中遇到使用js动态加载内容,同时需要对加入的内容绑定点击事件的,当时想想了想可以使用内联的onclick来实现,后来没有这样做,使用的是 on(‘click’,function(){}) ,然而使用on方法的时候就发现,on 对同一个元素多次绑定同一个事件的时候,这个事件就会执行多次。
下面给出这种情况的实例:
$(function(){
$(".add").click(function(eve){
$(".btn-area").append("<button class='test-btn'>test button</button>");
//$(".test-btn").off("click");
$(".test-btn").on("click",function(){
console.log("test button .....");
});
});
});
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
在点击add按钮的添加测试按钮,测试按钮绑定点击事件,console 台输出一句话。
执行结果如下:
很明显,第一个按钮点击之后执行了5次。
遇到这种情况需要在每次绑定事件之前,对该事件解绑,也就是 $(“.test-btn”).off(“click”); ,off方法解绑。
推荐阅读
-
Jquery on方法绑定事件后执行多次
-
jQuery文本框(input textare)事件绑定方法教程_jquery
-
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题_javascript技巧
-
jQuery事件多次绑定与解绑问题实例分析
-
详谈jQuery unbind 删除绑定事件 / 移除标签方法
-
VUE DOM加载后执行自定义事件的方法
-
jq加载完成后执行(jquery加载页面的方法)
-
jq加载完成后执行(jquery加载页面的方法)
-
jquery取input的输入值(js事件绑定的方法)
-
jQuery的三种bind/One/Live/On事件绑定使用方法