Num-Lock-Keycode in JavaScript

Für Num Lock, event.key ist NumLock, event.code ist NumLock und das veraltete keyCode ist 144. Drück eine beliebige Taste im Key Code Finder, um ihre Werte live zu sehen.

Aktualisiert am

EigenschaftWert
event.keyNumLock
event.codeNumLock
event.keyCode / which (veraltet)144

So erkennst du Num Lock

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

Nutze 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 je nach Browser und Layout.

Wie Browser Num Lock behandeln

Bei ausgeschaltetem Num Lock sendet der Ziffernblock Navigationstasten (Pos1, Ende, Pfeiltasten) statt Ziffern. Prüfe event.getModifierState("NumLock").

In React

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

Häufige Fragen

Welcher keyCode gehört zu Num Lock?
144. Er ist allerdings veraltet: Verwende in neuem Code event.key („NumLock“) oder event.code (NumLock).
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.
Soll ich keydown oder keypress verwenden?
keydown. Das keypress-Event ist veraltet und wird nicht für Tasten ausgelöst, die keine Zeichen erzeugen, etwa Escape oder die Pfeiltasten.