Руслан Куянец | Reactify
5.81K subscribers
706 photos
53 videos
39 files
289 links
Я IT-специалист, ментор и основатель проекта YeaHub и сообщества Reactify. Здесь рассказываю про Frontend и IT.

Менторство:
https://reactify.ru

YouTube канал:
https://youtube.com/@reactify-it

YeaHub:
https://yeahub.ru/

Связь:
@ruslan_kuyanets
Download Telegram
Всплытие и погружение

Всплытие (bubbling) и погружение (capturing) являются двумя основными механизмами обработки событий в JavaScript, определяющими порядок, в котором события должны быть обработаны. Эти механизмы позволяют определить, как событие распространяется через DOM-дерево.

Всплытие - это процесс, при котором событие начинается с самого внутреннего элемента, на котором произошло событие, и продолжает распространение вверх по DOM-дереву до его корня. Например, если пользователь кликает на кнопку, событие сначала срабатывает на кнопке, затем на её родительском элементе, и так далее вверх, до элемента <html>.

Погружение - это процесс, обратный всплытию. Событие сначала перехватывается на самом верхнем уровне (например, у элемента <html>) и затем распространяется вниз по DOM-дереву до элемента, на котором произошло событие. Для активации перехвата необходимо в третьем аргументе метода addEventListener передать значение true.

Важно понимать, что по умолчанию события в JavaScript ведут себя согласно механизму всплытия. Однако, можно управлять этим поведением, используя третий параметр addEventListener. Если передать false, обработчик будет вызван при всплытии события. Если передать true, обработчик будет вызван на этапе перехвата.

Также существует метод stopPropagation(), который можно вызвать на объекте события для предотвращения дальнейшего распространения текущего события. Это полезно, когда необходимо избежать обработки события на других элементах.

#bubbling #capturing #JavaScript #DOM
👍145🔥4