【发布时间】:2014-11-23 20:52:14
【问题描述】:
假设我想更改任何新创建的特定 DOM 元素的文本。例如:
(不是真正的 API,我意识到)
$('body').on('creation', '.change-this', function() {
$(this).text('Boom!');
});
因此,如果我以编程方式创建 <p class="change-this"> 并将其添加到 DOM(通过 jQuery 或其他方式),则会触发上述操作。这是jQuery可以做的吗?我能想到的就是,当我以编程方式添加任何 HTML 时,执行 $.trigger('creation') 并准备好处理这些事件的处理程序。
【问题讨论】:
-
我认为调用
$.trigger()可能是最简单的解决方案。不幸的是,没有可靠的 DOM 元素创建事件处理程序:stackoverflow.com/questions/7434685/… -
(上面的链接还有一些其他有趣的想法可能对你有帮助。)
-
您可能想了解MutationObserver。
-
请注意,旧版浏览器不支持 MutationObserver。