Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Element: contextmenu Ereignis

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Das contextmenu-Ereignis wird ausgelöst, wenn der Benutzer versucht, ein Kontextmenü zu öffnen. Dies wird typischerweise durch das Klicken der rechten Maustaste oder durch Drücken der Kontextmenü-Taste initiiert.

Im letzteren Fall wird das Kontextmenü unten links am fokussierten Element angezeigt, es sei denn, das Element ist ein Baum, in diesem Fall wird das Kontextmenü unten links in der aktuellen Zeile angezeigt.

Jedes Rechtsklick-Ereignis, das nicht deaktiviert wurde (durch Aufruf der Methode preventDefault() des Klick-Ereignisses), führt dazu, dass ein contextmenu-Ereignis am Ziel-Element ausgelöst wird.

Hinweis: Eine Ausnahme in Firefox: Wenn der Benutzer die Umschalt-Taste gedrückt hält, während er mit der rechten Maustaste klickt, wird das Kontextmenü angezeigt, ohne dass ein contextmenu-Ereignis ausgelöst wird.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder legen Sie eine Ereignis-Handler-Eigenschaft fest.

js
addEventListener("contextmenu", (event) => { })

oncontextmenu = (event) => { }

Ereignistyp

Ein PointerEvent. Erbt von MouseEvent.

Event UIEvent MouseEvent PointerEvent

Hinweis: In früheren Versionen der Spezifikation war der Ereignistyp für dieses Ereignis ein MouseEvent. Überprüfen Sie die Browser-Kompatibilität für mehr Informationen.

Beispiele

Das contextmenu-Ereignis abbrechen

In diesem Beispiel wird die Standardaktion des contextmenu-Ereignisses mittels preventDefault() abgebrochen, wenn das contextmenu-Ereignis beim ersten Absatz ausgelöst wird. Dadurch wird beim Rechtsklick auf den ersten Absatz nichts passieren, während der zweite Absatz das standardmäßige Kontextmenü Ihres Browsers anzeigen wird.

Hinweis: In Firefox, wenn Sie die Umschalt-Taste gedrückt halten, während Sie mit der rechten Maustaste klicken, wird das Kontextmenü angezeigt, ohne dass das contextmenu-Ereignis ausgelöst wird. Daher verhindert das Abbrechen des Ereignisses nicht die Anzeige des Kontextmenüs.

HTML

html
<p id="noContextMenu">The context menu has been disabled on this paragraph.</p>
<p>But it has not been disabled on this one.</p>

JavaScript

js
const noContext = document.getElementById("noContextMenu");

noContext.addEventListener("contextmenu", (e) => {
  e.preventDefault();
});

Ergebnis

Spezifikationen

Spezifikation
Pointer Events
# contextmenu

Browser-Kompatibilität

Siehe auch