Spec-Zone.ru › Web APIs

Событие изменения

Устаревшее: Эта функция больше не рекомендуется. Хотя некоторые браузеры могут её поддерживать, она может быть уже удалена из соответствующих веб-стандартов, может быть в процессе удаления или сохранена только для совместимости. Избегайте её использования и, если возможно, обновите существующий код; см. таблицу совместимости в нижней части этой страницы, чтобы принять решение. Имейте в виду, что эта функция может перестать работать в любое время.

Нестандартное: Эта функция нестандартна и не включена в стандартные рекомендации. Не используйте её на производственных сайтах, ориентированных на Веб: она не будет работать для каждого пользователя. Также могут быть существенные несовпадения между реализациями, и поведение может измениться в будущем.

Интерфейс 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. Во всех остальных случаях возвращает пустую строку ("").

MutationEvent.relatedNode Только для чтения Устаревшее Нестандартное

Указывает узел, связанный с событием, например, изменённый узел внутри поддерева для DOMSubtreeModified.

Методы экземпляра

MutationEvent.initMutationEvent() Устаревшее Нестандартное

Метод конструктора, возвращающий новое событие MutationEvent с заданными параметрами.

Список событий изменения

Ниже приведён список всех событий изменения:

  • DOMAttrModified (Не поддерживается Safari)
  • DOMAttributeNameChanged (Не поддерживается Firefox)
  • DOMCharacterDataModified
  • DOMElementNameChanged (Не поддерживается Firefox)
  • DOMNodeInserted
  • DOMNodeInsertedIntoDocument
  • DOMNodeRemoved
  • DOMNodeRemovedFromDocument
  • DOMSubtreeModified

Примеры

Вы можете зарегистрировать обработчик для событий изменения, используя 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

См. также

  • MutationObserver

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API