是否可以自动在新匹配的项目上调用jQuery函数?
例如,我有以下代码:
$(document).ready(function(){
$('[draggable]').draggable();
});
这为每个与[draggable]匹配的元素添加了'draggable',但是当进一步推出具有属性'draggable'的新元素时,那些没有得到'draggable()'函数被调用。< / p>
是否有可能监控DOM或其他东西,并且在每个与选择器匹配的新dom项目上调用此方法?
我知道'click'事件就是这样的(jquery委托方法),但据我所知,在这种情况下我似乎无法使用它。
答案 0 :(得分:4)
检查“Mutation Events”有一个名为DOMNodeInserted的事件可能对你有所帮助
<顺便说一下,检查:JQuery - use element with DOMNodeInserted答案 1 :(得分:3)
您可以将我开发的arrive.js库用于完全相同的目的(它在内部使用MutationObserver)。用法:
document.arrive('[draggable]', function(){
// 'this' refers to the newly created element
$(this).draggable();
});
答案 2 :(得分:1)
答案 3 :(得分:1)
.on()
。它将在元素添加到页面时运行,以及在调用时已经存在的元素。如果您使用的是早期版本,请查看.live()
方法,该方法已被弃用,但与添加的元素具有相同的功能。
答案 4 :(得分:0)
根据您使用的jQuery版本,请查看.on()
method。如果我理解你在这里寻找什么,它应该满足你的需求。
以前版本的框架中的等效项为.live()
。