jQuery事件绑定动态加载的元素

时间:2013-06-03 13:47:07

标签: javascript jquery

我知道并研究了多种绑定事件.on().live().click()等的方法。我知道{+ 1}}已在1.9+中弃用。我遇到的问题是将动态DOM元素绑定到事件。

我有一个包含链接的.live()并且是分页的。链接是使用AJAX动态加载的。我想覆盖这些链接的绑定事件,因此我使用div并尝试了.unbind()。问题是这些动态加载的链接没有绑定。我想这是因为选择器.on()被缓存了前一组链接。

问题: 是否可以在任何时间点绑定页面上加载的所有元素,而无需在用户单击链接上的下一页时设置回调?

2 个答案:

答案 0 :(得分:12)

对于动态添加的元素,您必须将该函数绑定到其中一个父元素

$('#PARENT').on('click', '#DYNAMICALLY_ADDED_CHILD', function(){ CODE HERE });

父树应该已经存在于DOM树中了......

有关详情:http://api.jquery.com/on/

答案 1 :(得分:-2)

你不能绑定所有元素,即使那些没有加载到页面中的元素,也没有回调方法/函数或循环的函数,并继续检查具有特定属性的元素或特性将具有绑定到它的适当功能,这可能会导致内存泄漏。