DOM MutationObserver - реагирование на изменения DOM без снижения производительности браузера
// Выбор целевого узла
var target = document.querySelector('#some-id');
// Создание экземпляра наблюдателя
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
console.log(mutation.type);
});
});
// Конфигурация наблюдателя
var config = { attributes: true, childList: true, characterData: true }
// Передача целевого узла и параметров наблюдателя
observer.observe(target, config);
// Позже можно прекратить наблюдение
observer.disconnect();