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

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, 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

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 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

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

Browser-Kompatibilität

Siehe auch