MutationRecord#
Wstęp#
Interfejs MutationRecord stanowi definicję Web IDL dla obiektu zwanego zapisem zmian #. W obiekcie tym przechowywane są wszystkie istotne informacje charakteryzujące przeprowadzoną na danym węźle zmianę.
Zapisy zmian stanowią elementy w kolejce zapisu skojarzonej z obserwatorem zmian, która w rzeczywistych implementacjach będzie tablicą JS z elementami w postaci wielu zapisów zmian. Kolejkę zapisu (a raczej jej kopię) można pobrać za pomocą:
- Pierwszego argumentu przekazanego do funkcji zwrotnej skojarzonej z obserwatorem zmian.
- Metody
MutationObserver.takeRecords()
wywołanej na drugim argumencie przekazanym do funkcji zwrotnej skojarzonej z obserwatorem zmian (lub wywołanej bezpośrednio na obserwatorze zmian).
Cały interfejs MutationRecord pojawia się dopiero w specyfikacji DOM4 i stanowi uzupełnienie dla interfejsu MutationObserver.
Interfejs MutationRecord nie dziedziczy z żadnego innego interfejsu w ogólnym ujęciu DOM, chociaż w środowisku JS obiekty implementujące ten interfejs będą dziedziczyły z prototypu najwyższego rzędu. Zachowanie takie jest czymś normalnym w przypadku języka ECMAScript.
Właściwości MutationRecord#
Nazwa | Opis |
---|---|
MutationRecord.addedNodes | Zwraca kolekcję węzłową ze wszystkimi dziećmi dodanymi do celu obserwacji. |
MutationRecord.attributeName | Zwraca nazwę lokalną zmienionego atrybutu w celu obserwacji. |
MutationRecord.attributeNamespace | Zwraca przestrzeń nazw zmienionego atrybutu w celu obserwacji. |
MutationRecord.nextSibling | Zwraca brata następującego dla dziecka dodanego lub usuniętego z celu obserwacji. |
MutationRecord.oldValue | Zwraca poprzednią wartość z celu obserwacji. |
MutationRecord.previousSibling | Zwraca brata poprzedzającego dla węzła dodanego lub usuniętego z celu obserwacji. |
MutationRecord.removedNodes | Zwraca kolekcję węzłową ze wszystkimi dziećmi usuniętymi z celu obserwacji. |
MutationRecord.target | Zwraca cel obserwacji (węzeł), dla którego dany zapis zmian został utworzony. |
MutationRecord.type | Zwraca łańcuch znakowy reprezentujący typ danego zapisu zmian. |
Składnia Web IDL#
interface MutationRecord # { readonly attribute DOMString type; [SameObject] readonly attribute Node target; [SameObject] readonly attribute NodeList addedNodes; [SameObject] readonly attribute NodeList removedNodes; readonly attribute Node? previousSibling; readonly attribute Node? nextSibling; readonly attribute DOMString? attributeName; readonly attribute DOMString? attributeNamespace; readonly attribute DOMString? oldValue; };