假设我有一个 javascript 函数createMyElement
,它返回一个可以插入 HTML 文档的节点。
为了正常运行,由创建的节点的代码必须至少在插入文档后立即createMyElement
侦听全局事件。document
我的第一次尝试是在创建时向节点添加DOMNodeInsertedIntoDocument
和DOMNodeRemovedFromDocument
侦听器document
,依次添加和删除所需的侦听器。
但是,突变事件现在已被弃用(并且似乎不能跨浏览器可靠地工作),所以我正在寻找更好的解决方案。
document
在创建节点时添加事件侦听器将起作用。然而,这似乎不是一个好的解决方案,因为它会造成内存和性能泄漏:即使在节点再次从文档中删除并且不再需要之后,监听器(及其对节点的引用)document
也会仍然坚持。