JavaScript:元素删除事件监听器

8

JavaScript中的核心等效于jQuery的remove事件监听器是什么?

element.removeEventListener('remove', someFunction);


你尝试过使用 element.addEventListener("remove", someFunction) 吗? - Niccolò Campolungo
@LightStyle - 你可能需要查看规范,因为没有“remove”事件。 - RobG
@RobG,我没有时间检查规范。我只是猜测,结果是错误的。 ;) - Niccolò Campolungo
1
我实际上找到了以下内容:code element.addEventListener("DOMNodeRemoved", someFunction); code - Snaker.Wood
这个答案的更新使用了Remove,可以在这里找到:https://dev59.com/XHI95IYBdhLWcg3wsQBm。 - crazycharlie
2个回答

5

没有类似于 remove 的事件,无论是作为 DOM 标准事件还是作为 jQuery 扩展。你的示例并没有任何效果。

将来,您可以使用Mutation Observer查找removedNodes,但是浏览器支持还不完全。


3

以下是如何使用Mutation Observer进行操作:

function onElementRemoved(element, callback) {
  new MutationObserver(function(mutations) {
    if(!document.body.contains(element)) {
      callback();
      this.disconnect();
    }
  }).observe(element.parentElement, {childList: true});
}

// Example usage: 
onElementRemoved(yourElement, function() {
  console.log("yourElement was removed!");
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接