なぜDOMSubtreeModifiedイベント 非推奨 であり、代わりに何を使用するのでしょうか?
少しスクロールダウン の場合、以下が表示されます。
警告!
MutationEvent
インターフェースはDOM Level 2 Eventsで導入されましたが、まだユーザーエージェント間で完全かつ相互運用可能に実装されていません。さらに、設計されたインターフェイスがパフォーマンスと実装の課題をもたらすという批判もありました。突然変異イベントが解決するユースケースに対処することを目的とした、より高性能な方法で新しい仕様が開発中です。そのため、この仕様では、レガシーイベントの参照と完全性のためにミューテーションイベントについて説明していますが、MutationEvent
インターフェイスとMutationNameEvent
インターフェイスの両方の使用は推奨されていません。
置換APIは mutation observers で、これは完全に指定されています DOM Living Standardで は、DOMレベルXの愚かさをすべて置き換えます。
置き換えはミューテーションオブザーバーになると思います: https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
var whatToObserve = {childList: true, attributes: true, subtree: true, attributeOldValue: true, attributeFilter: ['class', 'style']};
var mutationObserver = new MutationObserver(function(mutationRecords) {
$.each(mutationRecords, function(index, mutationRecord) {
if (mutationRecord.type === 'childList') {
if (mutationRecord.addedNodes.length > 0) {
//DOM node added, do something
}
else if (mutationRecord.removedNodes.length > 0) {
//DOM node removed, do something
}
}
else if (mutationRecord.type === 'attributes') {
if (mutationRecord.attributeName === 'class') {
//class changed, do something
}
}
});
});
mutationObserver.observe(document.body, whatToObserve);