Динамическое изменение структуры dom на ванильном js
Есть dom дерево, данные в нем меняются ajax запросами. На некоторых кнопках весят слушатели, и следовательно они удаляются, когда выполняется ajax запрос. Я попытался сделать через
element.addEventListener("DOMNodeInserted", function (event) {
addButton();
console.log('hi');
}, false);
И получается просто целая куча слушателей. Как от этого избавиться?
Ответы (1 шт):
Автор решения: Yakov Botov
→ Ссылка
Для того, чтобы избежать необходимости поддерживать большое кол-во активных слушателей событий, можно использовать технику делегирования событий.
Можно подвесить слушатель только на корневой элемент, а потом через всплытие события определять какой конкретно элемент это событие создал.
Такой подход, насколько я знаю, используется в react