时间:2021-05-26
这两天工作中遇到使用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 ....."); }); });});在点击add按钮的添加测试按钮,测试按钮绑定点击事件,console 台输出一句话。
执行结果如下:
很明显,第一个按钮点击之后执行了5次。
遇到这种情况需要在每次绑定事件之前,对该事件解绑,也就是 $(“.test-btn”).off(“click”); ,off方法解绑。
以上这篇Jquery on方法绑定事件后执行多次的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近发现jQuery一个对象的事件可以重复绑定多次,当事件触发的时候会引起代码多遍执行。下面是一个click事件被重复绑定的示例:functionreg_but
1.清空input标签值得时候,不能用html("")清空,要用val("")清空2.事件如果绑定多次,触发事件后,回调函数也会执行多次,所有最好把绑定事件的函
一、问题描述 用jQuery的append()方法动态添加了一段html代码之后,发现在为新添加的元素绑定click事件时无法获取该新元素。二、解决方法 度
使用attachEvent对同一事件进行多次绑定,这是解决事件函数定义冲突的重要方法。但是在IE中,函数内的this指针并没有指向被绑定元素,而是functio
使用attachEvent对同一事件进行多次绑定,这是解决事件函数定义冲突的重要方法。但是在IE中,函数内的this指针并没有指向被绑定元素,而是functio