@LoranDeMarcus

Почему не работает делегирование событий JS?

Добрый вечер. Есть список, в который динамически добавляются новые элементы. Сделал пока тестово, чтоб при клике на элемент выводило в консоль лог data-id этого элемента. делегирование сделано на элементы списка, но почему то не работает.
  • Вопрос задан
  • 171 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Элемент списка не обязательно является целевым элементом. Он может целевой элемент содержать. Так что следует проверять, есть ли у целевого элемента соответствующий предок:

document.querySelector('.todo-app__list').addEventListener('click', e => {
  const li = e.target.closest('.todo-app__list-item');
  if (li) {
    console.log(li.dataset.id);
  }
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vdem
Может быть,
console.log(e.target.getAttribute('data-id'));
?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы