MutationObserver: disconnect() メソッド

MutationObserverdisconnect() メソッドは、オブザーバーに変更の監視を停止させます。

オブザーバーは、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();

仕様書

Specification
DOM Standard
# ref-for-dom-mutationobserver-disconnect①

ブラウザーの互換性

BCD tables only load in the browser