一尘不染

将新节点插入dom时会触发jquery事件吗?

html

将dom元素插入dom时,是否会触发jquery?

例如,可以说我通过ajax加载了一些内容并将其添加到DOM中,而在其他Java脚本中,我可以使用.live()添加事件,以便在将与特定选择器匹配的事件添加到DOM时触发该事件说元素。类似于$(document).ready(),但内容是动态添加到DOM的。

我梦of以求的:

$('.myClass').live('ready', function() {
    alert('.myClass added to dom');
});

如果jquery不支持这种功能,那么还有另一种方法可以实现此功能,而无需修改实际执行初始dom操作的代码?


阅读 318

收藏
2020-05-10

共1个答案

一尘不染

.livequery()插件仍然可以满足这种利基需求,例如:

$('.myClass').livequery(function() {
  alert('.myClass added to dom');
});

如果您 传递上述回调函数,则它将针对找到的每个新元素(无论是最初的还是添加的元素)运行。函数内部this引用刚添加的元素。

.live()侦听冒泡的事件,因此不适合这种“当添加元素时”的情况,在这方面,[.livequery()(插件)并未
完全 被添加.live()到核心中而 完全 取代,只是事件冒泡部分(大部分情况下)之前。

2020-05-10