Open1
JS系のメモ
DOM監視 MutationObserverとDOMSubtreeModifiedイベントの違い
MutationObserver
新しいAPIで、特定のDOM要素(またはその子孫)の変更を監視する。変更が発生すると、指定したコールバック関数が呼び出されます。MutationObserverは変更の詳細(どの要素が変更されたか、どの属性が変更されたかなど)を提供する。また、MutationObserverは非同期で動作するため、パフォーマンスに優れている。
DOMSubtreeModified イベント
古いAPIで、DOMの任意の部分が変更されると発生する。しかし、このイベントは非常に頻繁に発生する可能性があり、その結果としてパフォーマンスに影響を及ぼす可能性がある。また、どの要素が変更されたか、どの属性が変更されたかなどの詳細情報を提供しない。
まとめ
- MutationObserver
- 特定の要素の特定の変更を監視し、その変更の詳細を取得することができる
- DOMSubtreeModifiedとpropertychangeイベント
- より広範な変更を監視しますが、変更の詳細を提供しないか、またはパフォーマンスに影響を及ぼす可能性がある