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 andere Maustaste als die primäre, üblicherweise linke 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, die einem Klick mit der mittleren Maustaste das Öffnen eines Links in einem neuen Tab zuordnen, darunter Firefox, lässt sich dieses Verhalten unterbinden, indem preventDefault() innerhalb eines auxclick-Event-Handlers aufgerufen wird.
Wenn Sie auf auxclick-Ereignisse von Elementen reagieren, die keine Eingabe oder 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 System-Kontextmenü geöffnet wird. Aufgrund von Unterschieden im zeitlichen Ablauf zwischen 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 die Vordergrundfarbe (Textfarbe). Sie können die beiden Funktionen auch selbst ausprobieren, indem Sie die Demo mit einer Maus mit mehreren Tasten testen (Live-Demo auf GitHub ansehen; siehe auch den Quellcode).
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 Erfassen des auxclick-Ereignisses mit onauxclick auch das Ereignis contextmenu erfasst und darauf preventDefault() aufgerufen wird. Dadurch wird verhindert, dass nach der Farbänderung das Kontextmenü erscheint.
HTML
<button>Click me!</button>
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 einschließlich etwaiger „Spezialtasten“ an Gaming-Mäusen).
Spezifikationen
| Spezifikation |
|---|
| Pointer Events> # auxclick> |
| HTML> # handler-onauxclick> |