说我有一个div#parent和我append和remove使用jQuery的元素。我如何检测div#parent元素上何时发生此类事件?
div#parent
append
remove
不推荐使用以下方法
您可以使用DOMNodeInserted和DOMNodeRemoved
$("#parent").on('DOMNodeInserted', function(e) { console.log(e.target, ' was inserted'); }); $("#parent").on('DOMNodeRemoved', function(e) { console.log(e.target, ' was removed'); });
不要使用诸如DOMNodeInserted和DOMNodeRemoved之类的突变事件。
相反,请使用DOM Mutation Observers,除IE10和更低版本(所有其他浏览器)(所有其他浏览器均支持)(我可以使用)。突变观察者旨在替换突变事件(已弃用),因为发现突变事件是由于其设计缺陷而导致的性能低下。
var x = new MutationObserver(function (e) { if (e[0].removedNodes) console.log(1); }); x.observe(document.getElementById('parent'), { childList: true });