我包含第三方javascript,后者又将子元素附加到DOM,并且执行此操作所需的时间是可变的,有没有办法让我找出Mutation何时完成,例如DOMNodeInserted完成了吗?
目前我的代码似乎是
$("#searchgadget").bind("DOMNodeInserted",function(){
alert("added");}
正如预期的那样,我会收到添加到“searchgadget”的每500多个元素的警报,但是,我只对完成后感兴趣我只想在最后一个DOMNodeInserted之后做一些逻辑。无论如何要做到这一点?
答案 0 :(得分:1)
假设附加节点的代码同步运行,它们之间不会有任何延迟。您可以在每次插入节点时设置超时。当超时完成时,它完成了所有突变。
insertTimeout = null;
$("#searchgadget").on("DOMNodeInserted", function() {
clearTimeout(insertTimeout);
insertTimeout = setTimeout(function() {
alert("added");
}, 100);
});