Kontextmenü-Taste Keycode in JavaScript

Für Kontextmenü, event.key ist ContextMenu, event.code ist ContextMenu und der veraltete keyCode ist 93. Drück eine beliebige Taste im Key Code Finder, um ihre Werte live zu sehen.

Aktualisiert am

EigenschaftWert
event.keyContextMenu
event.codeContextMenu
event.keyCode / which (veraltet)93

So erkennst du die Kontextmenü-Taste

document.addEventListener('keydown', (event) => {
  if (event.key === "ContextMenu") {
    // Context Menu 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 behandeln Browser die Kontextmenü-Taste

Die Menütaste (oder Umschalt+F10) öffnet das Kontextmenü. Höre auf das contextmenu-Ereignis statt auf diese Taste, damit Maus, Tastatur und langes Drücken gleichermaßen funktionieren.

In React

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

Häufige Fragen

Welcher keyCode gehört zur Kontextmenü-Taste?
93. Er ist allerdings veraltet: Verwende in neuem Code event.key (“ContextMenu”) oder event.code (ContextMenu).
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 nicht für Tasten ausgelöst, die kein Zeichen erzeugen, etwa Escape oder die Pfeiltasten.