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

jQuery event binding with dynamically loaded elements

本文关键字:事件 绑定 jQuery 加载 元素 动态      更新时间:2023-09-26

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

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

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

对于动态添加的元素,您必须将该函数绑定到它的父类之一

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

父元素应该已经存在于DOM树中…

更多信息:http://api.jquery.com/on/

如果没有回调方法/函数或函数来循环并不断检查具有特定属性或特征的元素是否有适当的函数绑定到它,则无法绑定所有元素,甚至那些尚未加载到页面中的元素。