Hodnota KeyboardEvent (keyCodes, metaKey atď.) - Triky CSS

Anonim

Keď dôjde k KeyboardEventpožiaru, môžete vyskúšať, ktorá klávesa bola stlačená, pretože táto udalosť obsahuje informácie, proti ktorým môžete písať logiku.

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

Napríklad stlačením „a“ získate 65. Zdá sa, že je najlepšie napísať logiku, proti ktorej sú keyCode a charCode komplikované:

Vlastnosť event.which normalizuje event.keyCode a event.charCode. Pri zadávaní klávesov z klávesnice sa odporúča sledovať event.which.

A:

V prípade stlačenia klávesu sa hodnota Unicode stlačeného klávesu uloží buď do vlastnosti keyCode, alebo charCode, nikdy nie do oboch. Ak stlačené tlačidlo vygeneruje znak (napr. „A“), charCode sa nastaví na kód tohto znaku, pričom sa zohľadnia malé a veľké písmená. (tj charCode berie do úvahy, či je kláves Shift držaný stlačený). V opačnom prípade je kód stlačeného klávesu uložený v keyCode.

Nástroj na testovanie

Prezrite si tester udalostí event.keyCode od Pen, Chris Coyier (@chriscoyier) na CodePen.

Hodnoty kľúčového kódu

Tu je tabuľka, ktorá obsahuje hodnoty z event.which.

Kľúč Zákonníka
backspace 8
tab 9
vstúpiť 13
posun 16
ctrl 17
alt 18
pauza / prestávka 19
zámok veľkých písmen 20
uniknúť 27
(medzera) 32
strana hore 33
o stranu nižšie 34
koniec 35
Domov 36
ľavá šípka 37
šípka hore 38
pravá šípka 39
šípka dole 40
vložiť 45
vymazať 46
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
a 65
b 66
c 67
d 68
Kľúč Zákonníka
e 69
f 70
g 71
h 72
i 73
j 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
r 89
z 90
ľavé okno 91
kláves pravého okna 92
vyberte kľúč 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
Kľúč Zákonníka
numpad 8 104
numpad 9 105
znásobiť 106
pridať 107
odčítať 109
desatinná čiarka 110
rozdeliť 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
rolovací zámok 145
bodkočiarka 186
znamienko rovnosti 187
čiarka 188
pomlčka 189
obdobie 190
lomítko 191
hrobový prízvuk 192
otvorená zátvorka 219
zadné lomítko 220
zavrieť braket 221
jediný citát 222

Zell Liew si všimol, že 3 z týchto kódov sa vo Firefoxe líšia od ostatných prehľadávačov

  • ; je 59 vo Firefoxe, ale 186 v iných prehliadačoch.
  • = je 61 vo Firefoxe, ale 187 v iných prehliadačoch.
  • - je 173 vo Firefoxe, ale 189 v iných prehliadačoch.

Dôležitá poznámka: Tieto hodnoty kódov kľúčov sú platné iba počas udalostí in keydowna keyup. V systéme Mac keypressvám udalosti poskytujú úplne inú sadu kódov.

Napríklad:

Kľúč event.which v keydown event.which pri stlačení klávesu
a 65 97
b 66 98
c 67 99