This question already has answers here:
Is there a JavaScript / jQuery DOM change listener?
                                
                                    (5个答案)
                                
                        
                2年前关闭。
            
        

当从DOM树中删除元素时,更希望是ParentElement.removeChild(ChildElement),我希望做一些清理工作。我想知道在删除ChildElement时是否发出任何可以监听代码的事件?

最佳答案

以前,您可以使用不推荐使用MutationObserver的突变事件,例如DOMNodeRemoved

var observer = new MutationObserver((mutations) => {
  mutations.forEach((mutation) => {
    const removedNodes = mutation.removedNodes;
    // Cast NodeList to Array to have access to .includes method
    if (Array.from(removedNodes).includes(childElement)) {
      console.log('childElement removed');
    }
  })
});

observer.observe(document.getElementById('parentElement'), {
  childList: true
});

09-25 18:50