Element: contextmenu-Ereignis
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Das contextmenu
-Ereignis wird ausgelöst, wenn der Benutzer versucht, ein Kontextmenü zu öffnen. Dieses Ereignis wird typischerweise durch Klicken der rechten Maustaste oder durch Drücken der Kontextmenütaste ausgelöst.
Im letzteren Fall wird das Kontextmenü unten links im 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 Aufrufen der preventDefault()
-Methode des Klickevents), führt dazu, dass ein contextmenu
-Ereignis auf das anvisierte Element ausgelöst wird.
Hinweis:
Eine Ausnahme in Firefox: Wenn der Benutzer die Shift-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 setzen Sie eine Ereignishandler-Eigenschaft.
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 weitere Informationen.
Ereigniseigenschaften
Diese Schnittstelle erbt Eigenschaften von MouseEvent
und Event
.
PointerEvent.altitudeAngle
Schreibgeschützt Experimentell-
Repräsentiert den Winkel zwischen einer Transducer-Achse (einem Zeiger oder Stylus) und der X-Y-Ebene eines Geräteschirms.
PointerEvent.azimuthAngle
Schreibgeschützt Experimentell-
Repräsentiert den Winkel zwischen der Y-Z-Ebene und der Ebene, die sowohl die Transducer-Achse (ein Zeiger oder Stylus) als auch die Y-Achse enthält.
PointerEvent.pointerId
Schreibgeschützt-
Eine eindeutige Kennung für den Zeiger, der das Ereignis verursacht.
PointerEvent.width
Schreibgeschützt-
Die Breite (Länge auf der X-Achse), in CSS-Pixel, der Kontaktfläche des Zeigers.
PointerEvent.height
Schreibgeschützt-
Die Höhe (Länge auf der Y-Achse), in CSS-Pixel, der Kontaktfläche des Zeigers.
PointerEvent.pressure
Schreibgeschützt-
Der normalisierte Druck des Zeigereingangs im Bereich von
0
bis1
, wobei0
und1
den minimalen und maximalen Druck darstellen, den die Hardware erkennen kann. PointerEvent.tangentialPressure
Schreibgeschützt-
Der normale tangentiale Druck des Zeigereingangs (auch bekannt als Barrel-Druck oder Zylinderbelastung) im Bereich von
-1
bis1
, wobei0
die neutrale Position der Steuerung darstellt. PointerEvent.tiltX
Schreibgeschützt-
Der Winkel in der Ebene (in Grad, im Bereich von
-90
bis90
) zwischen der Y-Z-Ebene und der Ebene, die sowohl die Zeigerachse (z.B. Stift) als auch die Y-Achse enthält. PointerEvent.tiltY
Schreibgeschützt-
Der Winkel in der Ebene (in Grad, im Bereich von
-90
bis90
) zwischen der X-Z-Ebene und der Ebene, die sowohl die Zeigerachse (z.B. Stift) als auch die X-Achse enthält. PointerEvent.twist
Schreibgeschützt-
Die Drehung des Zeigers (z.B. Stift) um seine Hauptachse im Uhrzeigersinn, in Grad, mit einem Wert im Bereich von
0
bis359
. PointerEvent.pointerType
Schreibgeschützt-
Gibt den Gerätetyp an, der das Ereignis verursacht hat (Maus, Stift, Berührung usw.).
PointerEvent.isPrimary
Schreibgeschützt-
Gibt an, ob der Zeiger den primären Zeiger dieses Zeigertyps darstellt.
Beispiele
>Das contextmenu
-Ereignis abbrechen
In diesem Beispiel wird die Standardaktion des contextmenu
-Ereignisses mit preventDefault()
abgebrochen, wenn das contextmenu
-Ereignis beim ersten Absatz ausgelöst wird. Infolgedessen wird der erste Absatz beim Rechtsklick nichts tun, während der zweite Absatz das standardmäßige Kontextmenü Ihres Browsers anzeigen wird.
Hinweis:
In Firefox wird das Kontextmenü angezeigt, wenn Sie die Shift-Taste gedrückt halten und mit der rechten Maustaste klicken, ohne dass das contextmenu
-Ereignis ausgelöst wird. Daher stoppt das Abbrechen des Ereignisses die Anzeige des Kontextmenüs nicht.
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
Specification |
---|
UI Events> # event-type-contextmenu> |
Browser-Kompatibilität
Loading…