KeyboardEvent Value (keyCodes, metaKey itp.) - CSS-Tricks

Anonim

W przypadku KeyboardEventpożaru można sprawdzić, który klawisz został naciśnięty, ponieważ to zdarzenie zawiera informacje, względem których można zapisać logikę.

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

Na przykład, naciskając „a”, otrzymasz 65. Najwyraźniej najlepiej jest napisać logikę, przeciwko której, ponieważ keyCode i charCode są skomplikowane:

Właściwość event.which normalizuje event.keyCode i event.charCode. Zaleca się obserwowanie zdarzenia, które jest przeznaczone do wprowadzania danych za pomocą klawiatury.

I:

W przypadku naciśnięcia klawisza wartość Unicode naciśniętego klawisza jest przechowywana we właściwości keyCode lub charCode, nigdy w obu. Jeśli naciśnięty klawisz generuje znak (np. „A”), kod charCode jest ustawiany na kod tego znaku, z uwzględnieniem wielkości liter. (tj. charCode bierze pod uwagę, czy klawisz Shift jest wciśnięty). W przeciwnym razie kod naciśniętego klawisza jest przechowywany w keyCode.

Narzędzie Tester

Zobacz tester Pen event.keyCode autorstwa Chrisa Coyiera (@chriscoyier) na CodePen.

Wartości kodów kluczy

Oto tabela zawierająca wartości z event.which.

Klucz Kod
Backspace 8
patka 9
wchodzić 13
Zmiana 16
ctrl 17
alt 18
przerwa 19
duże litery 20
ucieczka 27
(przestrzeń) 32
Strona w górę 33
Strona w dół 34
koniec 35
Dom 36
strzałka w lewo 37
strzałka w górę 38
prawa strzałka 39
strzałka w dół 40
wstawić 45
kasować 46
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
za 65
b 66
do 67
re 68
Klucz Kod
mi 69
fa 70
sol 71
godz 72
ja 73
jot 74
k 75
l 76
m 77
n 78
o 79
p 80
q 81
r 82
s 83
t 84
u 85
v 86
w 87
x 88
y 89
z 90
lewy klawisz okna 91
prawy klawisz okna 92
wybierz klawisz 93
numpad 0 96
klawiatura numeryczna 1 97
klawiatura numeryczna 2 98
klawiatura numeryczna 3 99
klawiatura numeryczna 4 100
klawiatura numeryczna 5 101
klawiatura numeryczna 6 102
klawiatura numeryczna 7 103
Klucz Kod
klawiatura numeryczna 8 104
klawiatura numeryczna 9 105
zwielokrotniać 106
Dodaj 107
odejmować 109
kropka dziesiętna 110
podzielić 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
blokada przewijania 145
średnik 186
znak równości 187
przecinek 188
dziarskość 189
Kropka 190
ukośnik 191
słaby akcent 192
otwarty wspornik 219
ukośnik wsteczny 220
zamknij klamrę 221
pojedynczy cytat 222

Zell Liew zauważył, że 3 z tych kodów klawiszy różniły się w Firefoksie niż w pozostałych przeglądarkach

  • ; jest 59 w Firefoksie, ale 186 w innych przeglądarkach.
  • = jest 61 w Firefoksie, ale 187 w innych przeglądarkach.
  • - to 173 w Firefoksie, ale 189 w innych przeglądarkach.

Ważna uwaga: te wartości kodów klucza są ważne tylko podczas wydarzeń in keydowni keyup. Na komputerze Mac keypresszdarzenia zapewniają zupełnie inny zestaw kodów.

Na przykład:

Klucz event.which w keydown event.which w naciśnięciu klawisza
za 65 97
b 66 98
do 67 99