javascript - 为什么 jquery 设置on绑定点击事件会触发两次点击事件?需要设置off,然后设置on
本文介绍了javascript - 为什么 jquery 设置on绑定点击事件会触发两次点击事件?需要设置off,然后设置on的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如果只设置了on 就会点击触发两次点击事件,执行两次代码,导致判断hasClass一直为true,
解决方案:先设置off 解除绑定后再设置on监听点击事件,就可以。 求解释,谢谢!
appList.off('click','img.expand-img').on("click", "img.expand-img", function () {
var $this = $(this);
var appText = $this.parent().find("p.app-text");
if (appText.hasClass("text-nowrap")) {
appText.removeClass("text-nowrap");
} else {
appText.addClass("text-nowrap");
}
return false;
});
解决方案
这段代码是不是会执行两次? 前面加个console.error('fuck...')
看看都有哪些调用路径过来呗。
一般绑一次,肯定只会处理一次事件,但是绑2次自然就会处理2次事件。jQuery不去重复的。
.off()
应该会同时干掉所有相同类型的事件绑定。小心使用,别把其他地方绑定的事件也给干掉了。
这篇关于javascript - 为什么 jquery 设置on绑定点击事件会触发两次点击事件?需要设置off,然后设置on的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文