我包含了一个第三方javascript,它将子元素追加到DOM中,执行此操作所需的时间是可变的,有没有方法让我知道何时完成突变,例如DOMNodeInserted是否完成?
我现在的代码看起来像这样
$("#searchgadget").bind("DOMNodeInserted",function(){
alert("added");}正如预期的那样,我会收到添加到“搜索小工具”中的每个500+元素的警报,然而,我只对这个完成时感兴趣,我只想在最后一个DOMNodeInserted之后执行一些逻辑。有没有办法做到这一点?
发布于 2018-06-05 08:52:12
假设附加节点的代码是同步运行的,那么它们之间不会有任何延迟。您可以在每次插入节点时设置超时。当超时时间结束时,所有的突变都完成了。
insertTimeout = null;
$("#searchgadget").on("DOMNodeInserted", function() {
clearTimeout(insertTimeout);
insertTimeout = setTimeout(function() {
alert("added");
}, 100);
});https://stackoverflow.com/questions/50690419
复制相似问题