--- title: MutationObserver slug: Web/API/MutationObserver tags: - Cambiamenti del DOM - DOM - DOM Reference - Mutation Observer - Mutation Observer e resize - resize - resize listener translation_of: Web/API/MutationObserver ---
L'interfaccia {{domxref("MutationObserver")}} offre la possibilità di monitorare le mutazioni subite dall'alberatura del DOM. È stata progettata per sostituire i Mutation Events che fanno parte del DOM3 Events specification.
MutationObserver
che invocherà una funzione di callback specificata alla mutazione del DOM.MutationObserver
di notifiche sulla mutazione del DOM fino a quando verrà nuovamente invocato {{domxref("MutationObserver.observe", "observe()")}}MutationObserver
affinché possa ricevere notifiche attraverso la funzione di callback specificata quando avviene una mutazione del DOM che corrisponda alle opzioni impostate.MutationObserver
e le restituisce come nuovo {{jsxref("Array")}} di oggetti {{domxref("MutationRecord")}}https://codepen.io/webgeeker/full/YjrZgg/
L'esempio seguente è un adattamento di questo post
// Seleziona il nodo di cui monitare la mutazione var targetNode = document.getElementById('some-id'); // Opzioni per il monitoraggio (quali mutazioni monitorare) var config = { attributes: true, childList: true, subtree: true }; // Funzione di callback da eseguire quando avvengono le mutazioni var callback = function(mutationsList, observer) { for(var mutation of mutationsList) { if (mutation.type == 'childList') { console.log('A child node has been added or removed.'); } else if (mutation.type == 'attributes') { console.log('The ' + mutation.attributeName + ' attribute was modified.'); } } }; // Creazione di un'istanza di monitoraggio collegata alla funzione di callback var observer = new MutationObserver(callback); // Inizio del monitoraggio del nodo target riguardo le mutazioni configurate observer.observe(targetNode, config); // Successivamente si può interrompere il monitoraggio observer.disconnect();
Specifica | Stato | Commenti |
---|---|---|
{{SpecName('DOM WHATWG', '#mutationobserver', 'MutationObserver')}} | {{ Spec2('DOM WHATWG') }} |
{{Compat("api.MutationObserver")}}