Element: auxclick Event
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 bei einem Element ausgelöst, wenn eine Taste eines Zeigegeräts, die nicht die primäre Taste ist (jede Maustaste außer der primären - normalerweise die linke), innerhalb desselben Elements gedrückt und losgelassen wurde.
auxclick wird nach den Ereignissen mousedown und mouseup in dieser Reihenfolge ausgelöst.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("auxclick", (event) => { })
onauxclick = (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.
Verhindern von Standardaktionen
Für die überwiegende Mehrheit der Browser, die den Mittelclick mit dem Öffnen eines Links in einem neuen Tab verknüpfen, einschließlich Firefox, ist es möglich, dieses Verhalten durch den Aufruf von preventDefault() innerhalb eines auxclick-Ereignishandlers zu verhindern.
Wenn Sie auxclick-Ereignisse überwachen, die von Elementen ausgehen, die keine Eingabe oder Navigation unterstützen, möchten Sie oft explizit andere Standardaktionen verhindern, die dem Drücken der mittleren Maustaste zugeordnet sind. Unter Windows ist dies normalerweise das automatische Scrollen, unter Linux das Einfügen aus der Zwischenablage. Dies kann durch Verhindern des Standardverhaltens des mousedown- oder pointerdown-Ereignisses erreicht werden.
Zusätzlich müssen Sie möglicherweise das Öffnen eines System-Kontextmenüs nach einem Rechtsklick vermeiden. Aufgrund von Zeitunterschieden zwischen Betriebssystemen ist dies ebenfalls kein verhinderbares Standardverhalten von auxclick. Stattdessen kann dies durch Verhindern des Standardverhaltens des contextmenu-Ereignisses geschehen.
Beispiele
In diesem Beispiel definieren wir Funktionen für zwei Ereignis-Handler — onclick und onauxclick. Der erstere ändert die Hintergrundfarbe des Buttons, während der letztere die Vordergrundfarbe (Text) ändert. Sie können die beiden Funktionen auch in Aktion sehen, indem Sie das Demo mit einer Multi-Button-Maus ausprobieren (siehe es live auf GitHub; auch sehen Sie 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 zusätzlich zum Erfassen des auxclick-Ereignisses mit onauxclick auch das contextmenu-Ereignis erfasst wird und preventDefault() für dieses Ereignis aufgerufen wird, um zu verhindern, dass das Kontextmenü nach der Farbänderung angezeigt wird.
HTML
<button>Click me!</button>
Hinweis:
Wenn Sie eine Drei-Tasten-Maus verwenden, werden Sie feststellen, dass der onauxclick-Handler ausgeführt wird, wenn eine der nicht linken Maustasten (normalerweise einschließlich spezieller Tasten bei Gaming-Mäusen) gedrückt wird.
Spezifikationen
| Spezifikation |
|---|
| Pointer Events> # auxclick> |
| HTML> # handler-onauxclick> |