Событие изменения
Устаревшее: Эта функция больше не рекомендуется. Хотя некоторые браузеры могут её поддерживать, она может быть уже удалена из соответствующих веб-стандартов, может быть в процессе удаления или сохранена только для совместимости. Избегайте её использования и, если возможно, обновите существующий код; см. таблицу совместимости в нижней части этой страницы, чтобы принять решение. Имейте в виду, что эта функция может перестать работать в любое время.
Нестандартное: Эта функция нестандартна и не включена в стандартные рекомендации. Не используйте её на производственных сайтах, ориентированных на Веб: она не будет работать для каждого пользователя. Также могут быть существенные несовпадения между реализациями, и поведение может измениться в будущем.
Интерфейс MutationEvent предоставляет свойства события, специфичные для изменений в иерархии и узлах модели объекта документа (DOM).
Примечание: Использование событий изменения проблематично:
- Их дизайн имеет недостатки.
- Добавление слушателей событий изменения DOM в документ значительно снижает производительность последующих изменений DOM в этом документе (делая их в 1,5–7 раз медленнее!). Более того, удаление слушателей не устраняет нанесённый ущерб.
- Они имеют низкую кроссбраузерную совместимость: Safari не поддерживает
DOMAttrModified(см. WebKit-ошибку 8191), а Firefox не поддерживает события изменения имени (например,DOMElementNameChangedиDOMAttributeNameChanged).
Они устарели в пользу наблюдателей изменений. Рекомендуется использовать их вместо этого.
Свойства экземпляра
Этот интерфейс также наследует свойства от своего родительского UIEvent и косвенно от Event.
-
MutationEvent.attrChangeТолько для чтения Устаревшее Нестандартное -
Указывает, какой вид изменения вызвал событие
DOMAttrModified. Он может бытьMODIFICATION(1),ADDITION(2) илиREMOVAL(3). Для других событий он не имеет смысла и тогда устанавливается в0. -
MutationEvent.attrNameТолько для чтения Устаревшее Нестандартное -
Указывает имя узла, затронутого событием
DOMAttrModifiedсобытия. Для других событий он не имеет смысла и тогда устанавливается в пустую строку (""). -
MutationEvent.newValueТолько для чтения Устаревшее Нестандартное -
В событиях
DOMAttrModifiedсодержит новое значение изменённого узлаAttr. В событияхDOMCharacterDataModifiedсодержит новое значение изменённого узлаCharacterData. Во всех остальных случаях возвращает пустую строку (""). -
MutationEvent.prevValueТолько для чтения Устаревшее Нестандартное -
В событиях
DOMAttrModifiedсодержит предыдущее значение изменённого узлаAttr. В событияхDOMCharacterDataModifiedсодержит предыдущее новое значение изменённого узлаCharacterData. Во всех остальных случаях возвращает пустую строку (""). -
Указывает узел, связанный с событием, например, изменённый узел внутри поддерева для
DOMSubtreeModified.
Методы экземпляра
-
MutationEvent.initMutationEvent()Устаревшее Нестандартное -
Метод конструктора, возвращающий новое событие
MutationEventс заданными параметрами.
Список событий изменения
Ниже приведён список всех событий изменения:
-
DOMAttrModified(Не поддерживается Safari) -
DOMAttributeNameChanged(Не поддерживается Firefox) DOMCharacterDataModified-
DOMElementNameChanged(Не поддерживается Firefox) DOMNodeInsertedDOMNodeInsertedIntoDocumentDOMNodeRemovedDOMNodeRemovedFromDocumentDOMSubtreeModified
Примеры
Вы можете зарегистрировать обработчик для событий изменения, используя EventTarget.addEventListener() следующим образом:
element.addEventListener(
"DOMNodeInserted",
(event) => {
// …
},
false,
);
Спецификации
Данные спецификации для api.MutationEvent не найдены.
Проверьте наличие проблем на этой странице или внесите недостающую spec_url в mdn/browser-compat-data. Также убедитесь, что спецификация включена в w3c/browser-specs.
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
MutationEvent |
1–127 | 12–127 | 1 | ≤12.1 | 1 | 18–127 | 4 | ≤12.1 | 1 | 1.0 | 4.4–127 |
attrChange |
1–127 | 12–127 | 1 | ≤12.1 | 1 | 18–127 | 4 | ≤12.1 | 1 | 1.0 | 4.4–127 |
attrName |
1–127 | 12–127 | 1 | ≤12.1 | 1 | 18–127 | 4 | ≤12.1 | 1 | 1.0 | 4.4–127 |
initMutationEvent |
1–127 | 12–127 | 1 | ≤12.1 | 1 | 18–127 | 4 | ≤12.1 | 1 | 1.0 | 4.4–127 |
newValue |
1–127 | 12–127 | 1 | ≤12.1 | 1 | 18–127 | 4 | ≤12.1 | 1 | 1.0 | 4.4–127 |
prevValue |
1–127 | 12–127 | 1 | ≤12.1 | 1 | 18–127 | 4 | ≤12.1 | 1 | 1.0 | 4.4–127 |
relatedNode |
1–127 | 12–127 | 1 | ≤12.1 | 1 | 18–127 | 4 | ≤12.1 | 1 | 1.0 | 4.4–127 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MutationEvent