所以,我认为这将是非常直接的,曾经有一个DOMNodeRemoved
事件,但是已经弃用,相反,应该使用MutationObserver,事情是,它没有' t fire,即使是合适的配置。
根据this article关于从变异事件迁移到变异观察者的情况,用于检测节点的dom去除的配置是{ childList: true, subtree: true }
,这适合于赋予childList
强制性和{{1}根据{{3}},它意味着它将捕获突变不仅仅是目标,而且还要观察目标的后代。
无论如何,我已经提出问题的the mdn article,它非常简单,subtree
删除了<button>
,观察者应该记录变异记录,但它没有' t,看看你是否能弄明白:)
<div>
<div>Oh my god karen, you can't just ask someone why they're white.</div>
<button>^Remove</button>
谢谢!
答案 0 :(得分:9)
由于名称建议childList
仅捕获对观察节点的直接子节点列表的更改,subtree
将任何指定的条件扩展到所有后代(它本身不做任何事情)。 / p>
但你两个都没做。您正在移除观察到的节点本身,同时保持其后代不变。
只需观察div.parentNode
即可解决您的问题。