Když dojde k KeyboardEvent
požá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
.
|
|
|
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 keydown
a keyup
událostí. V systému Mac keypress
vá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 |