将 dom 元素插入 dom 时,是否会在 dom 元素上触发事件 jquery?
例如,假设我通过 ajax 加载一些内容并将其添加到 DOM 中,在其他一些 javascript 中我可以使用 .live() 添加一个事件,这样当一个与特定选择器匹配的事件被添加到 DOM 时,事件就会触发说元素。类似于 $(document).ready() 但动态添加到 DOM 的内容。
我梦想的是:
$('.myClass').live('ready', function() {
alert('.myClass added to dom');
});
如果 jquery 不支持这样的事情,那么有没有另一种方法可以在不修改实际执行初始 dom 操作的代码的情况下实现此功能?
原文由 3urdoch 发布,翻译遵循 CC BY-SA 4.0 许可协议
.livequery()
插件 仍然满足这个利基需求,如下所示:如果你像上面那样 只 给它一个回调函数,它会为它找到的每个新元素运行,包括最初和添加它们时。函数内部
this
指的是刚刚添加的元素。.live()
监听冒泡的事件,所以不适合这种“添加元素时”的情况,在这方面,.livequery()
(插件)没有 完全 被添加所取代.live()
核心,只有事件冒泡部分(大部分)是。