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.
addEventListener("contextmenu", (event) => { })
oncontextmenu = (event) => { }
Ereignistyp
Ein PointerEvent. Erbt von MouseEvent.
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
<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
const noContext = document.getElementById("noContextMenu");
noContext.addEventListener("contextmenu", (e) => {
e.preventDefault();
});
Ergebnis
Spezifikationen
| Spezifikation |
|---|
| Pointer Events> # contextmenu> |