Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 41 из 114 · 6 мин
Один обработчик на контейнер, event.target.closest, data-атрибуты и динамические элементы.
У каждого товара кнопка. И новые товары добавляются потом. На каждую вешать обработчик?
Нет: события всплывают. Повесь один обработчик на список, а в нём смотри, какая кнопка нажата.
event.target.closest("button") находит нужную кнопку.document.querySelector("ul").addEventListener("click", (e) => {
const btn = e.target.closest("button");
if (!btn) return;
console.log("Добавлен:", btn.dataset.item);
});
document.querySelectorAll("button")[1].click();Много однотипных кнопок — один обработчик на их общего родителя.
Повесь один обработчик click на #menu: при клике по кнопке добавляй её data-item в массив cart.
closest — пока нетВыберите один ответ.
Главное преимущество делегирования?
Выберите один ответ.
На чём основано делегирование?
Проверяем состояние обучения…