0

Ich brauche Daten, wenn ein bestimmtes Attribut hinzugefügt wird. Ich habe diesen Beitrag lesen: Is there a JavaScript/jQuery DOM change listener?Hören von DOM-Ereignissen (spezifische Attribute)

var observer = new MutationObserver(function (mutations, observer) { 
    // fired when a mutation occurs 
    $.each(mutations, function(index, mutation) { 

     var post = $(mutation.target).find('div[class^="ContentWrapper"]'); 


    }); 
    }); 
    observer.observe(document, { 
    subtree: true, 
    attributes: true 

    }); 

Es gibt ein Problem mit diesem Ansatz, weil es zu vielen Ereignissen und die Verlängerung ist sehr langsam, gibt es eine Option, um die Mutationen zu filtern, durch spezifisches Attribut?

+1

Mögliches Duplikat von [Wie reagiert man auf eine bestimmte Stilattributänderung mit Mutationsbeobachtern?] (Http://stackoverflow.com/questions/39024163/how-to-react-to-a-specific-style-attribute- change-with-mutation-observer) – wOxxOm

+0

das ist nicht gut .... es wird mir alle hinzugefügten Klassen geben, ich möchte eine bestimmte Klasse @wOxxOm –

+2

Dies ist die einzige Methode, um Attributbeobachtung zu begrenzen. Seien Sie kreativ. Beobachten Sie nicht das gesamte Dokument, z. B. auf dem übergeordneten Container. – wOxxOm

Antwort

0

Verwenden Sie in den MutationObserverInit-Optionen attributeFilter. Legen Sie es auf ein Array von Attributen, die Sie wie so hören wollen:

var attributeSpecificObserver=new MutationObserver(function_you_want_observing); 
attributeSpecificObserver.observe(element_you_want_to_observe, { 
    attributes: true, 
    attributeFilter: ['id', 'class', 'style', 'etc'], 
}); 

Quelle: Mozilla Developer Network (MDN).

Verwandte Themen