Перейти к содержимому

33 Всплытие и погружение, делегирование событий в JS, todolist часть 4

Denis Bielishev

0:00 / 0:00

33 Всплытие и погружение, делегирование событий в JS, todolist часть 4

12 просмотров · 19 часов назад
Denis Bielishev
39 подписчиков
12 просмотров · 19 часов назад
В этом уроке мы продолжаем изучать JavaScript и продолжаем работу над нашим проектом **Todo List**. На прошлом уроке мы добавили отображение задач, количество незавершённых задач, состояние пустого списка, чекбоксы, а также кнопки редактирования и удаления. Но теперь перед нами появляется важный вопрос: как правильно обрабатывать события для всех этих элементов? Вместо того чтобы добавлять отдельный обработчик события на каждый чекбокс и каждую кнопку, мы разберём механизм *всплытия событий (Event Bubbling)* и узнаем, как с его помощью работает **делегирование событий (Event Delegation)**. В этом уроке вы узнаете: что такое всплытие событий в JavaScript; как событие проходит от дочернего элемента к его родителям; почему клик по `checkbox` может вызвать обработчик на `label` и `ul`; какие события всплывают, а какие — нет; что такое `event.target`; что такое делегирование событий; почему один обработчик на родительском элементе может быть удобнее множества обработчиков; как использовать `closest()` для поиска нужного элемента; как получить `id` задачи через `data-*` атрибут; как реализовать обработку клика по Todo List через один обработчик; что делает `stopPropagation()`; что такое *Capturing (перехват)* и чем он отличается от Bubbling. В практической части мы изменим наш Todo List и реализуем обработку изменения состояния задачи через **делегирование событий**. В результате вместо обработчиков на каждом отдельном элементе мы сможем повесить один обработчик на `ul` и определить, по какому элементу пользователь кликнул. 📌 *Исходный код проекта и материалы урока:* https://github.com/niskadevla/js-cour... 📚 *Материалы, которые использовались при подготовке:* https://learn.javascript.ru/bubbling-... https://learn.javascript.ru/event-del... Если вы изучаете JavaScript с нуля — подписывайтесь на канал и продолжайте обучение вместе со мной. *JavaScript для начинающих — Просто. Понятно. С нуля.*