KeyboardEventi väärtus (keyCodes, metaKey jne) - CSS-trikid

Anonim

Kui KeyboardEventtulekahjud, saate testida mis klahvivajutust sest sündmus sisaldab teavet, mida saab kirjutada loogika vastu.

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

Näiteks vajutades "a", saate 65. Ilmselt on kõige parem kirjutada loogika, mille alusel, kuna keyCode ja charCode on keerulised:

Atribuut event.which normaliseerib event.keyCode ja event.charCode. Klaviatuuri klahvide sisestamiseks on soovitatav vaadata sündmust.

Ja:

Klahvivajutuse korral salvestatakse vajutatud klahvi Unicode väärtus kas atribuudis keyCode või charCode, mitte kunagi mõlemas. Kui vajutatud klahv genereerib märgi (nt 'a'), määratakse charCode selle tähemärgi koodile, järgides suurtähtede kasutamist. (st charCode arvestab, kas tõstuklahvi hoitakse all). Vastasel juhul salvestatakse vajutatud klahvi kood keyCode'is.

Testri tööriist

Vaadake Chris Coyieri (@chriscoyier) pliiatsi Event.keyCode testijat CodePenis.

Võtmekoodi väärtused

Siin on tabel, mis sisaldab väärtusi event.which.

Võti Kood
tagasilükkeklahv 8
vaheleht 9
sisenema 13
vahetustega 16
ctrl 17
alt 18
paus / paus 19
suurtähtedega lukk 20
põgeneda 27
(tühik) 32
leht üles 33
leht alla 34
lõpp 35
Kodu 36
vasak nool 37
üles nool 38
parem nool 39
allanool 40
sisestada 45
kustuta 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
Võti Kood
e 69
f 70
g 71
h 72
i 73
j 74.
k 75
l 76
m 77
n 78
o 79
lk 80
q 81
r 82
s 83
t 84
u 85
v 86
w 87
x 88
y 89
z 90
vasaku akna klahv 91
parema akna klahv 92
valige klahv 93
numbriklahv 0 96
numbriklahv 1 97
numbriklahv 2 98
numbriklahv 3 99
numbriklahv 4 100
numbriklahv 5 101
numbriklahv 6 102
numbriklahv 7 103
Võti Kood
numbriklahv 8 104
numbriklahv 9 105
korrutada 106
lisama 107
lahutama 109
kümnendkoht 110
jaga 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
Numeratsioonilukk 144
kerimislukk 145
semikoolon 186
võrdusmärk 187
koma 188
kriips 189
periood 190
kaldkriips 191
ränk aktsent 192
avatud sulg 219
tagasi kaldkriips 220
sulgege pidur 221
üks tsitaat 222

Zell Liew märkas, et 3 neist võtmekoodidest olid Firefoxis erinevad kui ülejäänud brauserid

  • ; on Firefoxis 59, teistes brauserites aga 186.
  • = on Firefoxis 61, teistes brauserites aga 187.
  • - on Firefoxis 173, teistes brauserites aga 189.

Oluline märkus. Need võtmekoodiväärtused kehtivad ainult sündmuste keydownja keyupsündmuste ajal . Macis keypressannavad sündmused teile täiesti erineva koodikomplekti.

Näiteks:

Võti event.which võtmelinnas event.which klahvivajutusega
a 65 97
b 66 98
c 67 99