Caps-Lock-Keycode in JavaScript

Für Caps Lock ist event.key CapsLock, event.code ist CapsLock und das veraltete keyCode ist 20. Drücke eine beliebige Taste im Keycode-Finder, um ihre Werte live zu sehen.

Aktualisiert am

EigenschaftWert
event.keyCapsLock
event.codeCapsLock
event.keyCode / which (veraltet)20

Caps Lock erkennen

document.addEventListener('keydown', (event) => {
  if (event.key === "CapsLock") {
    // Caps Lock was pressed
  }
});

Verwende event.key, um auf die Bedeutung der Taste zu reagieren (sie folgt dem Tastaturlayout), und event.code für ihre physische Position, zum Beispiel WASD in Spielen. keyCode und which sind veraltet: Sie funktionieren noch, aber ihre Werte unterscheiden sich zwischen Browsern und Layouts.

Wie Browser Caps Lock behandeln

Um Nutzer zu warnen, dass Caps Lock in einem Passwortfeld aktiv ist, prüfe event.getModifierState("CapsLock") bei jedem Tastenereignis – es meldet den Sperrstatus, nicht nur diese Taste.

In React

<input onKeyDown={(e) => { if (e.key === "CapsLock") { /* … */ } }} />

Häufige Fragen

Welcher keyCode gehört zu Caps Lock?
20. Er ist allerdings veraltet: Verwende in neuem Code event.key („CapsLock“) oder event.code (CapsLock).
Was ist der Unterschied zwischen event.key und event.code?
event.key ist das Zeichen oder die Aktion, die die Taste mit dem aktuellen Layout auslöst; event.code ist die physische Tastenposition und auf jedem Layout gleich.
Sollte ich keydown oder keypress verwenden?
keydown. Das keypress-Ereignis ist veraltet und wird bei Tasten, die keine Zeichen erzeugen, wie Escape oder die Pfeiltasten, nicht ausgelöst.