2016-12-06 83 views
0

我想在<div>元素从文档中删除之前运行一个函数。 我可以添加什么eventListener到<div>元素?DOM元素被删除之前是否有任何事件?

如果没有确切的事件来完成它,那么在将要删除的元素中,如何将一个函数绑定到<div>元素上?我试了下面,但他们没有工作

$('#divToRemove').on('beforeunload', handler); 
divToRemove.addEventListener('onbeforeunload', handler); 

任何答案将不胜感激。

+7

不,除非你手动举一个。您也可以在父元素上使用'MutationObserver',但这在传统浏览器中不起作用 –

+0

阅读以下资源可能很有趣:https://davidwalsh.name/mutationobserver-api | https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver | http://caniuse.com/#feat=mutationobserver – Flyer53

+0

谢谢你们的答案。很有意思! – Benjamin

回答

0

您可以使用jQuery UI的on()方法来处理这样的去除的事件:

$("#divToRemove").on("remove", function() { 
    alert("Element was removed"); 
}); 

重要:这是jQuery UI的脚本(不JQuery的)的功能,所以 你必须加载这两个脚本(jQuery和jQuery的UI)使其工作。 这里是例子:http://jsfiddle.net/72RTz/

希望这有助于!

+0

请您发布一个链接到jQuery UI'.on()'方法的文档。这必须是jQuery方法的重写方法。但是这样的覆盖没有在jQuery UI文档中列出。它也没有出现在jQuery UI方法的列表中。 (我只检查了当前的jQuery UI版本1.12.1) – Flyer53

+0

我确定这可能是一个解决方案,但这是行不通的。我正在使用React.js,因此所有视图都是React组件。你知道当一个组件卸载组件中的元素时会发生什么事件吗? – Benjamin

相关问题