Element: auxclick-Ereignis
Baseline 2024>
Neu verfügbar
Seit Dezember 2024 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Das auxclick-Ereignis wird auf einem Element ausgelöst, wenn eine nicht primäre Taste eines Zeigegeräts (eine beliebige Maustaste außer der primären, üblicherweise linken Taste) innerhalb desselben Elements gedrückt und wieder losgelassen wurde.
auxclick wird ausgelöst, nachdem die Ereignisse mousedown und mouseup in dieser Reihenfolge ausgelöst wurden.
Syntax
Verwenden Sie den Ereignisnamen in addEventListener():
addEventListener("auxclick", (event) => { })
Alternativ können Sie ihn der Event-Handler-Eigenschaft der Schnittstelle zuweisen:
onauxclick = (event) => { }
Ereignistyp
Ein PointerEvent. Erbt von MouseEvent.
Hinweis:
In früheren Versionen der Spezifikation war der Ereignistyp für dieses Ereignis ein MouseEvent. Weitere Informationen finden Sie unter Browser-Kompatibilität.
Standardaktionen verhindern
Bei den meisten Browsern, in denen ein Mittelklick einen Link in einem neuen Tab öffnet, einschließlich Firefox, lässt sich dieses Verhalten verhindern, indem preventDefault() innerhalb eines auxclick-Event-Handlers aufgerufen wird.
Wenn Sie auf auxclick-Ereignisse von Elementen reagieren, die weder Eingaben noch Navigation unterstützen, sollten Sie häufig auch andere Standardaktionen ausdrücklich verhindern, die dem Drücken der mittleren Maustaste zugeordnet sind. Unter Windows ist dies üblicherweise das automatische Scrollen, unter Linux das Einfügen aus der Zwischenablage. Dazu können Sie das Standardverhalten des Ereignisses mousedown oder pointerdown verhindern.
Möglicherweise müssen Sie außerdem verhindern, dass nach einem Rechtsklick ein Systemkontextmenü geöffnet wird. Aufgrund unterschiedlicher zeitlicher Abläufe in den Betriebssystemen lässt sich auch dieses Verhalten nicht als Standardaktion von auxclick verhindern. Stattdessen können Sie das Standardverhalten des Ereignisses contextmenu verhindern.
Beispiele
In diesem Beispiel definieren wir Funktionen für zwei Event-Handler: onclick und onauxclick. Ersterer ändert die Hintergrundfarbe des Buttons, letzterer seine Vordergrundfarbe (Textfarbe). Sie können die beiden Funktionen auch mit einer Maus mit mehreren Tasten in der Demo ausprobieren (Live-Demo auf GitHub; siehe auch den Quellcode).
HTML
<button>Click me!</button>
JavaScript
let button = document.querySelector("button");
let html = document.querySelector("html");
function random(number) {
return Math.floor(Math.random() * number);
}
function randomColor() {
return `rgb(${random(255)} ${random(255)} ${random(255)})`;
}
button.onclick = () => {
button.style.backgroundColor = randomColor();
};
button.onauxclick = (e) => {
e.preventDefault();
button.style.color = randomColor();
};
button.oncontextmenu = (e) => {
e.preventDefault();
};
Beachten Sie, dass neben dem auxclick-Ereignis über onauxclick auch das Ereignis contextmenu erfasst wird. Für dieses Ereignis wird preventDefault() aufgerufen, damit nach der Farbänderung kein Kontextmenü erscheint.
Hinweis:
Wenn Sie eine Maus mit drei Tasten verwenden, werden Sie feststellen, dass der onauxclick-Handler ausgeführt wird, wenn eine der Maustasten außer der linken angeklickt wird (üblicherweise auch „Sondertasten“ von Gaming-Mäusen).
Spezifikationen
| Spezifikation |
|---|
| Pointer Events> # auxclick> |
| HTML> # handler-onauxclick> |