Perché l’evento DOMSubtreeModified è deprecato e cosa dovremmo invece utilizzare?
Se scorri un po ‘ , vedi:
Avvertimento! L’interfaccia
MutationEvent
stata introdotta in DOM Level 2 Events, ma non è stata ancora implementata completamente e interoperabilità tra i programmi utente. Inoltre, ci sono state critiche sul fatto che l’interfaccia, come progettata, introduce una sfida di prestazioni e implementazione. Una nuova specifica è in fase di sviluppo con l’objective di affrontare i casi d’uso risolti dagli eventi di mutazione, ma in modo più performante. Pertanto, questa specifica descrive gli eventi di mutazione per il riferimento e la completezza del comportamento legacy, ma deprecano l’uso dell’interfacciaMutationEvent
e dell’interfacciaMutationNameEvent
.
L’API di sostituzione è osservatori di mutazione , che sono completamente specificati nel DOM Living Standard che sostituisce tutti gli stupidaggini di livello X di DOM.
Penso che la sostituzione sarà osservatori di mutazione: 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);