MutationObserver: disconnect() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

MutationObserver 方法 disconnect() 告诉观察者停止监视突变。

通过再次调用其 observe() 方法,可以重用该观察者。

语法

js
disconnect()

参数

无。

返回值

undefined.

注意: 所有已经被*检测到*但*尚未报告*给观察者的突变通知都将被丢弃。要保留并处理已检测到但未报告的突变,请使用 takeRecords() 方法。

用法说明

如果被观察的元素从 DOM 中移除,然后被浏览器的垃圾收集机制释放,则 MutationObserver 将停止观察该被移除的元素。然而,MutationObserver 本身可以继续存在以观察其他现有元素。

示例

此示例创建了一个观察者,然后断开连接,使其可用于可能的重用。

js
const targetNode = document.querySelector("#someElement");
const observerOptions = {
  childList: true,
  attributes: true,
};

const observer = new MutationObserver(callback);
observer.observe(targetNode, observerOptions);

/* some time later… */

observer.disconnect();

规范

规范
DOM
# ref-for-dom-mutationobserver-disconnect①

浏览器兼容性