MutationRecord#
MutationRecord.type#
Właściwość type
zwraca łańcuch znakowy reprezentujący typ danego zapisu zmian. Właściwość jest tylko do odczytu.
Opis działania#
Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:
var record_type = mutationRecord.type;
gdzie poszczególne człony oznaczają:
- record_type - łańcuch znakowy reprezentujący typ zapisu zmian. Dostępne są trzy wartości ściśle uzależnione od rodzaju przeprowadzonej zmiany:
- "
attributes
" - przy zmianach atrybutów w obserwowanych elementach. - "
characterData
" - przy zmianach danych tekstowych w obserwowanych węzłach znakowych. - "
childList
" - przy zmianach listy dzieci w obserwowanych węzłach (np. kiedy liczba dzieci uległa zmianie).
- "
- mutationRecord - zapis zmian będący obiektem kontekstu.
Rodzaj zapisywanych zmian, które mają bezpośrednie przełożenie na wartość właściwości type
, ustawia się w trakcie rejestrowania obserwator zmian za pośrednictwem słownika typu MutationObserverInit
będącym drugim argumentem przekazywanym do metody MutationObserver.observe()
.
Prosty przykład:
<script>
// Tworzymy nowego obserwatora 'newObserver'
var newObserver = new MutationObserver(function(records, observer){
// W czasie wywołania funkcji zwrotnej mamy dostęp do:
// records - lista ze wszystkimi obiektami MutationRecord
// observer - nasz newObserwer
document.documentElement.innerHTML += "<br><br>" + "Zarejestrowano zmiany węzła HTML"
+ "<br>" + "Liczba zmian records.length: " + records.length
+ "<br><br>" + "Interfejs pierwszej zmiany records[0]: " + records[0]
+ "<br>" + "Rodzaj pierwszej zmiany records[0].type: " + records[0].type;
observer.disconnect(); // wyłączamy obserwatora (zabezpieczenie przed nieskończonym wywoływaniem)
});
// Tworzymy obiekt konfiguracyjny
var config = {
attributes: true,
childList: true,
characterData: true,
attributeFilter: ["id", "name"]
};
// Rejestrujemy 'newObserver' na konkretnym węźle (HTML),
// przekazując jednocześnie obiekt konfiguracyjny 'config'.
newObserver.observe(document.documentElement, config);
document.write(newObserver); // [object MutationObserver]
</script>
Właściwość type
pojawia się dopiero w specyfikacji DOM4.
Składnia Web IDL#
interface MutationRecord { readonly attribute DOMString type; }
Specyfikacje i inne materiały#
Pasek społecznościowy