Книга: Выразительный JavaScript
Итог
Итог
Обработчики событий позволяют обнаруживать и реагировать на события, над которыми мы не властны. Для их регистрации используется метод addEventListener
.
У событий есть определяющий их тип ("keydown"
, "focus"
, и так далее). Большинство событий вызываются конкретными узлами DOM, и затем распространяются на их предков, позволяя связанными с ними обработчикам обрабатывать их.
При вызове обработчика ему передаётся объект события с дополнительной информацией о событии. У объекта также есть методы, позволяющие остановить дальнейшее распространение (stopPropagation
) и предотвратить обработку события браузером по умолчанию (preventDefault
).
Нажатия на клавиши запускают события "keydown"
, "keypress"
и "keyup"
. Нажатия на кнопки мыши запускают события "mousedown"
, "mouseup"
и "click"
. Движения мыши запускают события "mousemove"
и, возможно, "mouseenter"
или "mouseout"
.
Прокрутку можно обнаружить через событие "scroll"
, а изменения фокуса через события "focus"
и "blur"
. Когда заканчивается загрузка документа, у объекта window
запускается событие "load"
.
В одно и то же время может работать один участок программы. Поэтому обработчики событий и другие запланированные скрипты будут ждать окончания работы текущих.
- Обработчики событий
- События и узлы DOM
- Объекты событий
- Распространение (propagation)
- Действия по умолчанию
- События от кнопок клавиатуры
- Кнопки мыши
- Движение мыши
- События прокрутки
- События, связанные с фокусом
- Событие загрузки
- График выполнения скрипта
- Установка таймеров
- Устранение помех (debouncing)
- Итог
- Упражнения