Wenn ein KeyboardEvent
Feuer ausgelöst wird, können Sie testen, welche Taste gedrückt wurde, da dieses Ereignis Informationen enthält, gegen die Sie Logik schreiben können.
document.addEventListener("keydown", function(event) ( console.log(event.which); ))
Wenn Sie beispielsweise "a" drücken, erhalten Sie 65
. Anscheinend ist es am besten, Logik zu schreiben, gegen die keyCode und charCode kompliziert sind:
Die Eigenschaft event.which normalisiert event.keyCode und event.charCode. Es wird empfohlen, event.which für die Tastatureingabe zu beobachten.
Und:
In einem Tastendruckereignis wird der Unicode-Wert der gedrückten Taste entweder in der Eigenschaft keyCode oder charCode gespeichert, niemals in beiden. Wenn die gedrückte Taste ein Zeichen erzeugt (z. B. 'a'), wird charCode unter Berücksichtigung der Groß- und Kleinschreibung auf den Code dieses Zeichens gesetzt. (dh charCode berücksichtigt, ob die Umschalttaste gedrückt gehalten wird). Andernfalls wird der Code der gedrückten Taste in keyCode gespeichert.
Tester-Werkzeug
Siehe den Pen event.keyCode-Tester von Chris Coyier (@chriscoyier) auf CodePen.
Keycode-Werte
Hier ist eine Tabelle, die die Werte von enthält event.which
.
|
|
|
Zell Liew bemerkte, dass 3 dieser Schlüsselcodes in Firefox anders waren als die übrigen Browser
;
ist 59 in Firefox, aber 186 in anderen Browsern.=
ist 61 in Firefox, aber 187 in anderen Browsern.-
ist 173 in Firefox, aber 189 in anderen Browsern.
Wichtiger Hinweis: Diese Schlüsselcodewerte sind nur während In- keydown
und keyup
Events gültig . Auf dem Mac erhalten Sie durch keypress
Ereignisse einen völlig anderen Satz von Codes.
Zum Beispiel:
Schlüssel | event.which in keydown | event.which in Tastendruck |
ein | 65 | 97 |
b | 66 | 98 |
c | 67 | 99 |