Page 132 - 6108
P. 132
let checkbox = document.getElementById("checkbox");
checkbox.dispatchEvent(event);
}
document.getElementById("button").addEventListener('click',
simulateClick);
3.5.7 Події клавіатури
Іншим поширеним типом подій є події клавіатури.
– keydown – виникає при натисканні клавіші клавіатури і триває, поки
натиснута кнопка
– keyup – виникає при відпуску клавіші клавіатури
– keypress – виникає при натисканні клавіші клавіатури, але після події
keydown і до події keyup. Треба враховувати, що дана подія генерується тільки
для тих клавіш, які формують висновок у вигляді символів, наприклад, при
друці символів. Натискання на інші клавіші, наприклад, на Alt, не
враховуються.
– Для роботи з подіями клавіатури визначено об'єкт KeyboardEvent,
який додає до властивостей об'єкта Event ряд специфічних для клавіатури
властивостей:
– altKey – повертає true, якщо була натиснута клавіша Alt під час
генерації події
– charCode – повертає символ Unicode для натиснутою клавіші
(використовується для події keypress)
– key – повертає DOMString, що представляє значення клавіші, на якій
виникла подія.
– keyCode – повертає числовий код натиснутою клавіші клавіатури. Не
рекомендуєтся до використання.
– ctrlKey – повертає true, якщо була натиснута клавіша Ctrl під час
генерації події
– metaKey – повертає true, якщо була натиснута під час генерації події
метаклавіша клавіатури
– shiftKey: повертає true, якщо була натиснута клавіша Shift під час
генерації події
Особливості подій keydown, keypress і keyup. В загальному випадку
послідовність подій так:
1) Коли клавіша спочатку натиснута, то відправляється подія keydown.
2) Якщо клавіша не є модифікатором, то відправляється подія keypress.
3) Коли користувач відпускає клавішу, то відправляється подія keyup.
Деякі клавіші перемикають підсвічування індикаторів, такі як Caps Lock,
Num Lock і Scroll Lock. На Windows і Linux ці клавіші створюють тільки
події keydown і keyup.
Коли клавіша натиснута і утримується, то починається автоповтор.
Результатом цього буде послідовність подій згідно специфікації DOM Level 3:
keydown > keypress > keydown > keypress >
<< повтор до тих пір, поки користувач не відпустить
клавішу >>