Tab-Taste-Keycode in JavaScript

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

Aktualisiert am

EigenschaftWert
event.keyTab
event.codeTab
event.keyCode / which (veraltet)9

Tab-Taste erkennen

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

So verarbeiten Browser die Tab-Taste

Tab verschiebt den Fokus auf das nächste fokussierbare Element, Shift+Tab auf das vorherige. Fang die Taste nur in Widgets ab, die sie brauchen, etwa in Code-Editoren, und biete Tastaturnutzern einen Ausweg (zum Beispiel Escape, danach Tab).

In React

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

Häufige Fragen

Was ist der keyCode für Tab?
9. Er ist allerdings veraltet: Verwende in neuem Code event.key („Tab“) oder event.code (Tab).
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-Ereignis ist veraltet und wird bei Tasten, die keine Zeichen erzeugen, wie Escape oder die Pfeiltasten, nicht ausgelöst.