Shift-Tastencode in JavaScript

Für Shift ist event.key gleich Shift, event.code ist ShiftLeft / ShiftRight, und das veraltete keyCode ist 16. Drück eine beliebige Taste im Key Code Finder, um ihre Werte live zu sehen.

Aktualisiert am

EigenschaftWert
event.keyShift
event.codeShiftLeft / ShiftRight
event.keyCode / which (veraltet)16

So erkennst du Shift

document.addEventListener('keydown', (event) => {
  if (event.key === 'Shift') {
    // Shift 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 Shift behandeln

Verwende event.shiftKey, um zu prüfen, ob Shift während einer anderen Taste oder eines Klicks gehalten wird – tracke Shift-Drücke nicht selbst. Shift ändert event.key („a“ wird zu „A“), aber nicht event.code.

In React

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

Häufige Fragen

Welcher keyCode gehört zu Shift?
16. Er ist allerdings veraltet: Verwende in neuem Code event.key („Shift“) oder event.code (ShiftLeft).
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 erzeugt; event.code ist die physische Position der Taste und auf jedem Layout gleich.
Sollte 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.