有没有一种方法来检测DOM何时被卸载(销毁/删除/ GCed等)?当DOM被卸载时检测
我有一个全球中心,我订阅了一群听众(使用被动主题)。我需要检测相关DOM何时被销毁,并取消订阅与现在销毁的DOM有关的听众。
有没有一种方法来检测DOM何时被卸载(销毁/删除/ GCed等)?当DOM被卸载时检测
我有一个全球中心,我订阅了一群听众(使用被动主题)。我需要检测相关DOM何时被销毁,并取消订阅与现在销毁的DOM有关的听众。
与加载事件一样,存在卸载事件。 https://developer.mozilla.org/en-US/docs/DOM/window.onunload
应该指出的是,有一个非常有限的一组行动,你可以从卸载处理程序并发出ajax调用可能无法正常工作,因为页面上下文可能会在ajax调用取消之前被删除(这似乎因浏览器而异)。 – jfriend00 2013-05-04 01:17:26
如果您正在使用jQuery你可以使用remove
事件去除DOM:
$("#myDiv").on("remove", function() {
//code here
})
香草的jQuery不会触发remove
事件。这种行为取决于jQuery UI与jQuery一起加载。而不是jQuery UI,您可以扩展.remove()
方法,https://stackoverflow.com/a/18410194/368691。
您是否在搜索它?那这个呢? https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference/unload – elclanrs 2013-05-04 00:48:53
顺便说一句,如果你想检测用户什么时候关闭窗口,你可以使用'window.onbeforeunload' – Orlando 2013-05-04 01:10:11