我已经阅读了很多帖子$.each并新增了元素+事件附件。 StackOverflow 上当前有关此主题的许多问题似乎对我不起作用。$.on()通常推荐,因为它允许我们附加新元素并且仍然维护单个事件侦听器 + 处理程序.
在我当前的代码中:
1.$(‘input[type="checkbox"]’).on(“change”, function(e){});
//我做了一个逻辑if语句,if(this.checked) else
//在里面if
-我运行的语句$.each
,但是,一旦我在这种情况下附加了新元素,就会出现一个新的li
to the ul
,它停止工作。
出于好奇,以前有人遇到过类似的事情吗?如果是的话,你们是如何解决这个问题的?
Some 堆栈溢出我已经看过的帖子:
jQuery $(element).each 函数不适用于新添加的元素
jquery:动态地将li项附加到ul然后添加click,但click贯穿每个li
动态创建的元素上的事件绑定?
目前,您使用的称为“直接”绑定,它仅附加到代码进行事件绑定调用时页面上存在的元素。
委派事件的优点是它们可以处理来自稍后添加到文档的后代元素的事件。
当您创建元素时。
你需要使用活动委托。你必须使用.on()使用委托事件方法。
一般语法
$(document).on(event, selector, eventHandler);
理想情况下你应该更换document
与最近的静态容器。
Example
$(document).on('change', 'input[type="checkbox"]', function(){
//Your code
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)