Добрый вечер. Есть список, в который динамически добавляются новые элементы. Сделал пока тестово, чтоб при клике на элемент выводило в консоль лог data-id этого элемента. делегирование сделано на элементы списка, но почему то не работает.
Lo Ran, это бессмысленная проверка, если не будет блока с классом todo-app_list-item, там будет null. Да и если не будет e.target то и не будет никакой речи о проверке на класс.
Элемент списка не обязательно является целевым элементом. Он может целевой элемент содержать. Так что следует проверять, есть ли у целевого элемента соответствующий предок:
document.querySelector('.todo-app__list').addEventListener('click', e => {
const li = e.target.closest('.todo-app__list-item');
if (li) {
console.log(li.dataset.id);
}
});
Lo Ran, Я заметил явную ошибку, из-за которой работать как ожидается код не будет ну никак вообще. А уж потом можно было бы глянуть, кто там target на самом деле.