Amikor egy KeyboardEvent
tű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
.
|
|
|
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 keyup
események alatt érvényesek . Mac-en az keypress
esemé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 |