Событие на динамически создаваемые элементы js
Как повесить событие на динамически создаваемые элементы в JavaScript без ошибок?
Ответы (1 шт):
Автор решения: Elmir
→ Ссылка
Использовать делегирование событий.
const someElement = document.querySelectorAll('[data-some]');
someElement.forEach((el) => {
el.addEventListener('click', (e) => {
const target = e.target;
if (target && target.hasAttribute('data-some')) {
//Сделать что-то..
}
});
});
В этом примере у нас есть переменная someElement который является псевдомассивом со всеми элементами у которого есть дата-атрибут data-some, мы перебираем его и на каждый элемент вешает слушатель события, в колбэк передаем объект события, в условии проверяет мы действительно попали на этот самый элемент и что у него есть такой атрибут, если условие верно делаем что-то.