Преимущества использования MutationObserver вместо устаревших событий мутаций (MutationEvents):
- Асинхронность. 3 MutationObserver не срабатывает каждый раз, когда происходит событие, а ожидает окончания других сценариев или задач. 3
- Сообщает об изменениях в виде массива мутаций, а не один за другим. 3
- Не накладывает нагрузку на систему событий, поэтому менее вероятно может затормозить UI или вызвать «падение» браузера. 3
- Позволяет наблюдать все изменения в элементы или только отдельные. 3
Кроме того, при использовании MutationObserver функция обратного вызова не сработает до тех пор, пока изменения DOM полностью не завершатся. 2 Когда callback сработает, в него будет передан итоговый список изменений DOM, по которому можно отреагировать на них. 2