Hodnota KeyboardEvent (keyCodes, metaKey atd.) - Triky CSS

Anonim

Když dojde k KeyboardEventpožáru, můžete otestovat, která klávesa byla stisknuta, protože tato událost obsahuje informace, proti kterým můžete psát logiku.

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

Například stisknutím „a“ se dostanete 65. Zdá se, že je nejlepší psát logiku, proti které jsou keyCode a charCode komplikované:

Vlastnost event.which normalizuje event.keyCode a event.charCode. Doporučuje se sledovat event.which pro zadávání kláves na klávesnici.

A:

V případě stisknutí klávesy je hodnota Unicode stisknuté klávesy uložena ve vlastnosti keyCode nebo charCode, nikdy v obou. Pokud stisknutá klávesa generuje znak (např. „A“), charCode se nastaví na kód tohoto znaku, s ohledem na velká a malá písmena. (tj. charCode bere v úvahu, zda je stisknutá klávesa Shift). Jinak je kód stisknuté klávesy uložen v keyCode.

Nástroj pro testování

Podívejte se na testovací událost pera. KeyCode od Chris Coyier (@chriscoyier) na CodePen.

Hodnoty klíčových kódů

Zde je tabulka, která obsahuje hodnoty z event.which.

Klíč Kód
backspace 8
záložka 9
vstoupit 13
posun 16
ctrl 17
alt 18
přestávka 19
zámek čepice 20
uniknout 27
(prostor) 32
stránka nahoru 33
o stránku dolů 34
konec 35
Domov 36
šipka vlevo 37
šipka nahoru 38
šipka vpravo 39
šipka dolů 40
vložit 45
vymazat 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
Klíč Kód
E 69
F 70
G 71
h 72
i 73
j 74
k 75
l 76
m 77
n 78
Ó 79
str 80
q 81
r 82
s 83
t 84
u 85
proti 86
w 87
X 88
y 89
z 90
levé okno 91
pravé okno 92
vyberte klíč 93
numpad 0 96
numerická klávesnice 1 97
numerická klávesnice 2 98
numerická klávesnice 3 99
numerická klávesnice 4 100
numpad 5 101
numerická klávesnice 6 102
numpad 7 103
Klíč Kód
numerická klávesnice 8 104
numerická klávesnice 9 105
násobit 106
přidat 107
odčítat 109
desetinná čárka 110
rozdělit 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ámek 145
středník 186
znaménko rovná se 187
čárka 188
pomlčka 189
doba 190
lomítko 191
vážný přízvuk 192
otevřený držák 219
zadní lomítko 220
zavřít braket 221
jednoduchá nabídka 222

Zell Liew si všiml, že 3 z těchto kódů se ve Firefoxu liší od ostatních prohlížečů

  • ; je 59 ve Firefoxu, ale 186 v jiných prohlížečích.
  • = je 61 ve Firefoxu, ale 187 v jiných prohlížečích.
  • - je 173 ve Firefoxu, ale 189 v jiných prohlížečích.

Důležitá poznámka: Tyto hodnoty keycode jsou platné pouze během in keydowna keyupudálostí. V systému Mac keypressvám události poskytnou úplně jinou sadu kódů.

Například:

Klíč event.which v keydown event.which při stisknutí klávesy
A 65 97
b 66 98
C 67 99