【发布时间】:2016-02-07 12:38:43
【问题描述】:
我有一个MutationObserver 绑定到一个#foo html 元素。
var target = document.querySelector("#foo");
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
// ...
});
});
当用户点击#button 元素时,#foo 会被移除并在一秒钟后再次出现。
<div id="button">Click me to remove the Foo!</div>
<div id="foo">Hello, I'm Foo!</div>
我注意到,#foo 被删除并重新创建后,观察者停止工作。
- 这是正常行为吗?
- 那么,我需要再次启动观察者吗?
还有第三个问题:
- 第一个观察者是否被完全删除?或者,取而代之的是,它仍在运行,只是“无所事事”? - 我在问这个问题,因为我不希望多个观察者运行,只要其中一个在做真正的工作。
【问题讨论】:
-
“...并在一秒钟后再次出现...”是什么意思?具有相同 ID 的新元素?或者你把相同的元素放回去?
-
更多读者 - 请参阅 T.J. 的 cmets。克劳德的帖子。
标签: javascript mutation-observers