Ответ
Mutation Observer — это API, позволяющий отслеживать изменения в DOM. Он заменяет устаревшие MutationEvents
, работая асинхронно и более эффективно.
Пример использования:
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
console.log('DOM изменился:', mutation);
});
});
observer.observe(document.body, {
childList: true,
subtree: true,
attributes: true,
characterData: true
});
Ключевые особенности:
- Работает асинхронно (изменения собираются в батч)
- Можно наблюдать за узлами, атрибутами, текстом
- Оптимизирован для производительности
- Поддерживается всеми современными браузерами
Используется для:
- Отслеживания динамического контента
- Интеграции с сторонними библиотеками
- Реализации кастомного поведения при изменениях DOM