Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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():

js
addEventListener("auxclick", (event) => { })

Alternativ können Sie ihn der Event-Handler-Eigenschaft der Schnittstelle zuweisen:

js
onauxclick = (event) => { }

Ereignistyp

Ein PointerEvent. Erbt von MouseEvent.

Event UIEvent MouseEvent PointerEvent

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

html
<button>Click me!</button>

JavaScript

js
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

Browser-Kompatibilität

Siehe auch