なぜDOMSubtreeModifiedイベントdeprecatedが代わりに使用されるのですか?DOMレベル3でDOMSubtreeModifiedイベントが非推奨になっているのはなぜですか?
45
A
答えて
46
あなたscroll down a bit場合は、以下を参照してください。
警告!
MutationEvent
インターフェイスは、DOMレベル2 イベントで導入されましたが、ユーザエージェント間で完全にかつ相互運用可能に実装されていませんでした( )。さらに、 インターフェイスが設計通りにパフォーマンスと実装を導入している批判がありました チャレンジ突然変異イベントが解決するユースケースに対処するため、 の目的で新しい仕様が開発されていますが、より多くの場合は performant mannerです。したがって、本明細書は、レガシー行動の参照および完全性のための突然変異イベント を記載するが、MutationEvent
インターフェースおよびMutationNameEvent
インターフェースの両方の使用を非推奨にする。
交換用APIは完全にDOMレベルXの愚かさのすべてに優先しin the DOM Living Standardを指定しているmutation observers、です。
18
私は交換が変異オブザーバーになると思う: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);
あなたが意味する "上にスクロール"。 :-) –
@ TJ - いいえ。上のものは* DOMNodeRemovedFromDocument *です。 :-) – RobG
DOM Level 4の置き換えがhttp://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#mutation-observersになります.Chromium https:///bugs.webkit.org/show_bug.cgi?id=73851 –