KeyboardEvent Érték (keyCodes, metaKey stb.) - CSS-trükkök

Anonim

Amikor egy KeyboardEventtűz, meg lehet próbálni, melyik gombot nyomta meg, mert ez esetben olyan információkat tartalmaz, akkor írj a logika ellen.

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

Például az „a” megnyomásával megkapja 65. Nyilvánvalóan a legjobb olyan logikát írni, amelyhez képest, mivel a keyCode és a charCode bonyolult:

Az event.which tulajdonság normalizálja az event.keyCode és az event.charCode paramétereket. Javasoljuk, hogy nézze meg az event.whichet a billentyűzet billentyű beviteléhez.

És:

A billentyű megnyomásakor a megnyomott gomb Unicode értéke vagy a keyCode, vagy a charCode tulajdonságban tárolódik, soha nem mindkettő. Ha a megnyomott billentyű karaktert generál (pl. 'A'), akkor a charCode az adott karakter kódjára kerül, figyelembe véve a kis- és nagybetűket. (azaz a charCode figyelembe veszi, hogy a shift billentyűt lenyomva tartják-e). Ellenkező esetben a megnyomott billentyű kódja a keyCode-ban tárolódik.

Tester eszköz

Lásd Chris Coyier (@chriscoyier) Pen event.keyCode tesztelőjét a CodePen-en.

Kulcskód értékek

Itt egy táblázat, amely tartalmazza a (z) értékeit event.which.

Kulcs Kód
visszalépés 8.
fülre 9.
belép 13.
váltás 16.
ctrl 17.
alt 18.
szünet 19.
kupak 20
menekülni 27.
(tér) 32
oldal fel 33
Lapozás lefelé 34
vége 35
itthon 36
bal nyíl 37
felfelé nyíl 38
jobb nyíl 39
lefele nyíl 40
betét 45
töröl 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
Kulcs Kód
e 69
f 70
g 71.
h 72
én 73.
j 74.
k 75
l 76
m 77
n 78
o 79
o 80
q 81.
r 82
s 83.
t 84.
u 85
v 86
w 87
x 88
y 89
z 90
bal oldali ablak gombot 91.
jobb oldali ablak gombot 92
válassza a gombot 93
számgomb 0 96
numerikus 1 97
2. számgomb 98
3. számgomb 99
4. számgomb 100
5. számgomb 101
6. számgomb 102
számlap 7 103.
Kulcs Kód
8. számgomb 104
numpad 9 105
szaporodnak 106.
hozzá 107.
kivonni 109.
tizedesvessző 110
feloszt 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.
szám zár 144
görgetés zár 145
pontosvessző 186
egyenlőségjel 187
vessző 188
gondolatjel 189
időszak 190
perjel 191
súlyos akcentus 192
nyitott konzol 219
hátsó perjel 220
zárja be a féket 221
egyetlen idézet 222

Zell Liew észrevette, hogy ezek közül 3 kulcskód különbözik a Firefox böngészőitől, mint a többi böngésző

  • ; a Firefoxban 59, a többi böngészőben viszont 186.
  • = 61 a Firefoxban, de 187 más böngészőkben.
  • - a Firefoxban 173, a többi böngészőben viszont 189.

Fontos megjegyzés: Ezek a kulcskód értékek csak események keydownés keyupesemények alatt érvényesek . Mac-en az keypressesemények teljesen más kódkészletet adnak.

Például:

Kulcs event.which Keydown-ban event.which gombnyomással
a 65 97
b 66 98
c 67 99