KeyboardEvent Value (keyCodes, metaKey и т.н.) - CSS-трикове

Anonim

При KeyboardEventпожар можете да тествате кой бутон е бил натиснат, защото това събитие съдържа информация, срещу която можете да напишете логика.

document.addEventListener("keydown", function(event) ( console.log(event.which); ))

Например, като натиснете „a“, ще получите 65. Очевидно е най-добре да напишете логика, срещу която, тъй като keyCode и charCode са сложни:

Свойството event.which нормализира event.keyCode и event.charCode. Препоръчително е да гледате event.which за въвеждане на клавишни клавиши.

И:

При събитие при натискане на клавиш, стойността на Unicode на натиснатия клавиш се съхранява в свойството keyCode или charCode, никога в двете. Ако натиснатият бутон генерира символ (напр. „А“), charCode се задава на кода на този символ, като се зачита буквата. (т.е. charCode взема предвид дали натиснат клавиш Shift). В противен случай кодът на натиснатия клавиш се съхранява в keyCode.

Инструмент за тестери

Вижте тестера на Pen event.keyCode от Chris Coyier (@chriscoyier) на CodePen.

Стойности на ключовия код

Ето таблица, която съдържа стойностите от event.which.

Ключ Код
обратно пространство 8
раздел 9
въведете 13
смяна 16.
ctrl 17
височина 18.
почивка 19.
клавиш за главни букви 20.
бягство 27
(пространство) 32
Страница нагоре 33
страница надолу 34
край 35
У дома 36
лява стрелка 37
стрелка нагоре 38
дясна стрелка 39
стрелка надолу 40
вмъкване 45
Изтрий 46
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
а 65
б 66
° С 67
д 68
Ключ Код
д 69
е 70
ж 71
з 72
i 73
j 74
к 75
л 76
м 77
н 78
o 79
стр 80
q 81
r 82
с 83
т 84
u 85
v 86
w 87
х 88
у 89
z 90
ляв ключ на прозореца 91
десен ключ на прозореца 92
бутон за избор 93
numpad 0 96
numpad 1 97
numpad 2 98
numpad 3 99
numpad 4 100
numpad 5 101
numpad 6 102
numpad 7 103
Ключ Код
numpad 8 104
numpad 9 105
умножете 106
добавете 107
изваждане 109
десетична запетая 110
разделям 111
f1 112
f2 113
f3 114
f4 115
f5 116
f6 117
f7 118
f8 119
f9 120
f10 121
f11 122
f12 123
num lock 144
заключване на превъртане 145
полу-дебело черво 186
знак за равенство 187
запетая 188
тире 189
месечен цикъл 190
наклонена черта напред 191
гробен акцент 192
отворена скоба 219
наклонена черта 220
тясна скоба 221
единична кавичка 222

Zell Liew забеляза, че 3 от тези клавишни кодове са различни в Firefox от останалите браузъри

  • ; е 59 в Firefox, но 186 в други браузъри.
  • = е 61 във Firefox, но 187 в други браузъри.
  • - е 173 във Firefox, но 189 в други браузъри.

Важна забележка: Тези кодът стойности са валидни само по време на keydownи keyupсъбития. На Mac keypressсъбитията ви дават съвсем различен набор от кодове.

Например:

Ключ event.which в keydown event.which при натискане на клавиш
а 65 97
б 66 98
° С 67 99