[英]Triggering a click event on dynamically created ID (with ID based on parent element)
[英]Dynamically created element doesn't respond to “parent” click event
首先,我知道我应该使用以下代码附加到易失性元素上
$("#volatiles_container").on("click", ".volatile", function() { ... });
我知道。
但是它不起作用,请看此演示,现有作品,创建的作品不起作用,为什么?
http://jsfiddle.net/LUsMb/607/
请参阅test1
类及其事件函数。
(这不是我的页面,我在Google上找到了jsfiddle select2示例,并向其中添加了问题)
对于稍微复杂的示例,我们感到抱歉,只需查找test1
,它就在html中的javascript中出现了两次。
在搜索中输入“ khglkgliy”
编辑:这是一个简单的示例-输入不在列表中的内容-http://jsfiddle.net/LUsMb/614/
检查文件select2.js第682行
this.dropdown.bind("click mouseup mousedown", function (e) { e.stopPropagation(); });
我认为点击事件在这里停止了。
我无法在您的jsFiddle中重现该问题(我看不到如何让jsFiddle实际创建任何新对象),但是您的.on()
事件监听器有以下可能的原因:
$("#volatiles_container").on("click", ".volatile", function() { ... });
不适用于新创建的元素:
#volatiles_container
对象的子级。 ".volatile"
不匹配。 由于您的事件处理程序是当前应用于顶级文档的,因此我想这是第4个项目。 我建议您使用一个尽可能接近动态元素的事件处理程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.