【发布时间】:2010-10-10 11:43:44
【问题描述】:
当将 dom 元素插入 dom 时,是否会触发事件 jquery?
例如假设我通过 ajax 加载一些内容并将其添加到 DOM,在其他一些 javascript 中我可以使用 .live() 添加一个事件,这样当一个与特定选择器匹配的事件被添加到 DOM 时,事件就会触发说元素。与 $(document).ready() 类似,但内容是动态添加到 DOM 中的。
我的梦想:
$('.myClass').live('ready', function() {
alert('.myClass added to dom');
});
如果 jquery 不支持这样的事情,那么是否有另一种方法可以在不修改实际执行初始 dom 操作的代码的情况下实现此功能?
【问题讨论】:
-
您好,要做到这一点,您需要在您的另一段 Javascript 中触发插入。
$("<div class='myClass'>").appendTo(document.body).trigger("ready"); -
如果您在将 jQuery UI 小部件添加到您的内容的同时将其添加到 DOM,您可以只听
[widget]create事件。 (参见 api.jqueryui.com/jQuery.widget/#event-create ;注意小部件事件前缀。)