我正在向 DOM 中动态添加一些元素。
我想用 jQuery 的 .click() 函数来操作这些元素。但不知何故,DOM 不会为动态添加的元素触发 .click() 事件,它仅适用于 jQuery 未添加的其他元素。
知道为什么吗?
最佳答案
这是事件委托(delegate)的一个简单案例,意味着在页面上动态添加的元素上的直接事件绑定(bind)不会在您的案例中获得事件 click
,因此您需要遵循特定的事件语法代表团喜欢:
$(staticParent).on(event, selector, callback);
这里的 staticParent
是最近的父级,它包含动态添加的元素,可以是 div、table、form 等。
Event 是 click< 之类的事件
,selector 是上下文中元素的类名或 id,callback 是事件发生时必须运行的函数。
尽管 $(document)
始终可用于委托(delegate)事件。所以你可以这样做:
$(document).on('click', '.myElem', function(){
alert('clicked.');
});
关于javascript - 操纵由 jQuery 添加的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23586208/