我知道并研究了多种绑定(bind)事件的方法 .on()
, .live()
, .click()
等. 我知道 .live()
在 1.9+ 中被弃用了。我遇到的问题是将动态 DOM 元素绑定(bind)到事件。
我有一个包含链接且已分页的 div
。这些链接是使用 AJAX 动态加载的。我想覆盖这些链接的绑定(bind)事件,所以我使用了 .unbind()
并尝试了 .on()
。问题是这些动态加载的链接没有绑定(bind)。我想那是因为选择器 $('#id_of_links')
与上一组链接一起缓存。
问题: 是否可以在任何时间绑定(bind)页面上加载的所有元素,而无需在用户单击链接上的下一页时设置回调?
最佳答案
对于动态添加的元素,您必须将函数绑定(bind)到它的父元素之一
$('#PARENT').on('click', '#DYNAMICALLY_ADDED_CHILD', function(){ CODE HERE });
父级应该已经存在于 DOM 树中...
关于javascript - jQuery 事件绑定(bind)与动态加载的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16898288/