К событиям, связанным с взаимодействием с пользователем, относятся события нажатия клавиш клавиатуры или кнопок мыши.
С кнопками мыши связаны следующие события:
· click – наступает при щелчке мышью на элементе страницы или на самой странице;
· dblclick – наступает при двойном щелчке мышью на элементе страницы или на самой странице;
· mousedown – наступает, когда пользователь нажимает кнопку мыши на элементе страницы или на самой странице;
· mouseup – наступает, когда пользователь отпускает ранее нажатую кнопку мыши;
· mousemove – наступает, когда пользователь перемещает мышь над элементом страницы или над самой страницей (это событие вызывается при любом перемещении мыши);
· mouseover – наступает, когда пользователь помещает мышь над элементом страницы;
· mouseout – наступает, когда пользователь убирает мышь с элемента страницы.
При нажатии клавиши клавиатуры генерируются следующие события:
· keydown – наступает, когда пользователь нажимает и удерживает клавишу на клавиатуре;
· keyup – наступает, когда пользователь отпускает нажатую ранее клавишу на клавиатуре;
|
|
· keypress – наступает, когда пользователь нажимает клавишу на клавиатуре (от keydown отличается тем, что возвращает значение кода символа в кодировке Unicode).
Многие события вызываются подряд друг за другом. Например, при перемещении мыши над элементом страницы последовательность наступления событий будет такой:
mouseover, mousemove, mouseout.
Следует отметить, что mousemove наступает при любом, даже небольшим перемещении мыши.
При щелчке мышью на объекте последовательность событий будет следующей:
mousedown, mouseup, click.
т. е. обработка событий, связанных с mousedown и mouseup, будет выполняться прежде обработки события, связанного с click.
Если пользователь щелкает дважды, то последовательность событий следующая:
mousedown, mouseup, click, dblclick.
Как видно, при двойном щелчке раньше события dblclick наступает событие click. Это можно использовать в сценариях и, вместе с тем, придется это учитывать, чтобы не прореагировать на обычный щелчок, если нужна реакция на двойной щелчок.
При нажатии клавиши на клавиатуре последовательность наступления событий будет следующей:
keydown, keypress, keyup.
При этом событие keypress наступает постоянно, пока пользователь не отпустит клавишу. Это происходит вследствие так называемого автоповтора, когда, нажав и удерживая клавишу, можно получить многократное нажатие этой клавиши.
Все события, связанные с взаимодействием с пользователем, являются «всплывающими». Действие по умолчанию всех этих событий, за исключением события mousemove, можно отменить.