W przypadku KeyboardEvent
pożaru można sprawdzić, który klawisz został naciśnięty, ponieważ to zdarzenie zawiera informacje, względem których można zapisać logikę.
document.addEventListener("keydown", function(event) ( console.log(event.which); ))
Na przykład, naciskając „a”, otrzymasz 65
. Najwyraźniej najlepiej jest napisać logikę, przeciwko której, ponieważ keyCode i charCode są skomplikowane:
Właściwość event.which normalizuje event.keyCode i event.charCode. Zaleca się obserwowanie zdarzenia, które jest przeznaczone do wprowadzania danych za pomocą klawiatury.
I:
W przypadku naciśnięcia klawisza wartość Unicode naciśniętego klawisza jest przechowywana we właściwości keyCode lub charCode, nigdy w obu. Jeśli naciśnięty klawisz generuje znak (np. „A”), kod charCode jest ustawiany na kod tego znaku, z uwzględnieniem wielkości liter. (tj. charCode bierze pod uwagę, czy klawisz Shift jest wciśnięty). W przeciwnym razie kod naciśniętego klawisza jest przechowywany w keyCode.
Narzędzie Tester
Zobacz tester Pen event.keyCode autorstwa Chrisa Coyiera (@chriscoyier) na CodePen.
Wartości kodów kluczy
Oto tabela zawierająca wartości z event.which
.
|
|
|
Zell Liew zauważył, że 3 z tych kodów klawiszy różniły się w Firefoksie niż w pozostałych przeglądarkach
;
jest 59 w Firefoksie, ale 186 w innych przeglądarkach.=
jest 61 w Firefoksie, ale 187 w innych przeglądarkach.-
to 173 w Firefoksie, ale 189 w innych przeglądarkach.
Ważna uwaga: te wartości kodów klucza są ważne tylko podczas wydarzeń in keydown
i keyup
. Na komputerze Mac keypress
zdarzenia zapewniają zupełnie inny zestaw kodów.
Na przykład:
Klucz | event.which w keydown | event.which w naciśnięciu klawisza |
za | 65 | 97 |
b | 66 | 98 |
do | 67 | 99 |