Open1

JS系のメモ

AbetakuAbetaku

DOM監視 MutationObserverとDOMSubtreeModifiedイベントの違い

MutationObserver

新しいAPIで、特定のDOM要素(またはその子孫)の変更を監視する。変更が発生すると、指定したコールバック関数が呼び出されます。MutationObserverは変更の詳細(どの要素が変更されたか、どの属性が変更されたかなど)を提供する。また、MutationObserverは非同期で動作するため、パフォーマンスに優れている。

DOMSubtreeModified イベント

古いAPIで、DOMの任意の部分が変更されると発生する。しかし、このイベントは非常に頻繁に発生する可能性があり、その結果としてパフォーマンスに影響を及ぼす可能性がある。また、どの要素が変更されたか、どの属性が変更されたかなどの詳細情報を提供しない。

まとめ

  • MutationObserver
    • 特定の要素の特定の変更を監視し、その変更の詳細を取得することができる
  • DOMSubtreeModifiedとpropertychangeイベント
    • より広範な変更を監視しますが、変更の詳細を提供しないか、またはパフォーマンスに影響を及ぼす可能性がある