Page 304 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 304
Метод addEventListener заменяет уже устаревший способ добавле
.
ния событий с использованием свойств "on . . ': Например, обработ
чик щелчка мог бы быть добавлен к элементу l t с помощью кода
e
e l t . o nclick = function ( e vt ) { / * обработчик * / } . Основной
недостаток этого метода в том, что за раз может быть зарегистриро
ван только один обработчик.
Хотя маловероятно, что вам придется создавать сложную систему управления
распространением событий, очень часто, эта тема вызывает большие затруднения
среди новичков. Хорошо понимая детали распространения события, вы сможете
возвыситься над толпой.
В библиотеке jQuery обработчики событий могут явно возвращать
значение false. Это эквивалентно вызову метода s t opPropagation
в обработчике. Данное соглашение jQuery, и оно не распространяется
на АРI DOM.
Категории событий
В MDN есть превосходный справочник по всем событиям DOM, сгруппированным
по категориям. Вот некоторые из наиболее распространенных категорий событий.
Событ ия п еретаскивания
Позволяют реализовать интерфейс перетаскивания с использованием таких со
бытий, как dragstart, drag, dragend, drop и др.
Событ ия фокуса
Позволяют принимать меры, когда пользователь взаимодействует с редактиру
емыми элементами (такими, как поля формы). Событие focus происходит, когда
пользователь "переходит" к полю (щелкнув на нем или использовав клавишу <ТаЬ>
либо касание), а Ыur - когда пользователь "покидает" поле (щелкнув где-то еще,
нажав <ТаЬ> или выполнив касание в другом месте). Событие change происходит,
когда пользователь вносит изменение в поле.
Событ ия формы
Когда пользователь передает данные формы на сервер (щелкнув на кнопке Отпра
вит ь или нажав клавишу <Enter> в соответствующем контексте), в ней происходит
событие submi t.
Событ ия устройс тва ввода данных
Мы уже встречали событие cli k , но есть и дополнительные события для мыши
c
h
u
u
(mo s e down, move, mo s e up, mo s eenter, mo s e l e a ve, mouseover, mo s e w e e l )
u
u
u
События 307

