Escape-Taste-Code in JavaScript

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

Aktualisiert am

EigenschaftWert
event.keyEscape
event.codeEscape
event.keyCode / which (veraltet)27

So erkennst du Escape

document.addEventListener('keydown', (event) => {
  if (event.key === "Escape") {
    // Escape 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 gehen Browser mit Escape um

Escape ist der Standardweg, Dialoge, Menüs und Popovers zu schließen. Ein natives <dialog> schließt sich bei Escape von selbst und löst ein cancel-Ereignis aus. Browser nutzen Escape außerdem, um den Vollbildmodus zu verlassen; dieser Tastendruck wird meist nicht an die Seite weitergegeben.

In React

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

Häufige Fragen

Welchen keyCode hat Escape?
27. Er ist allerdings veraltet: Verwende in neuem Code event.key („Escape“) oder event.code (Escape).
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 Tastenposition und auf jedem Layout gleich.
Soll ich keydown oder keypress verwenden?
keydown. Das keypress-Ereignis ist veraltet und wird für Tasten, die keine Zeichen erzeugen, wie Escape oder die Pfeiltasten, nicht ausgelöst.