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: mousewheel event

Deprecated

Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Das veraltete und nicht standardisierte mousewheel Ereignis wird asynchron an ein Element ausgelöst, um Updates bereitzustellen, während ein Mausrad oder ein ähnliches Gerät verwendet wird. Das mousewheel-Ereignis war nie Teil eines Standards, und obwohl es von mehreren Browsern implementiert wurde, wurde es nie von Firefox implementiert.

Hinweis: Verwenden Sie anstelle dieses veralteten Ereignisses das standardisierte wheel Ereignis.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

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

onmousewheel = (event) => { }

Ereignistyp

Ein WheelEvent. Erbt von MouseEvent, UIEvent und Event.

Event UIEvent MouseEvent WheelEvent

Die Detail-Eigenschaft

Der Wert der detail Eigenschaft ist immer null, außer in Opera, das detail ähnlich wie das Firefox-exklusive DOMMouseScroll-Ereignis verwendet, dessen detail-Wert die Scroll-Distanz in Linien angibt, wobei negative Werte Bewegung entweder nach unten oder nach rechts anzeigen und positive Werte nach oben oder links.

Hinweis: Unter macOS wird die Scroll-Distanz (und damit der detail-Wert) basierend auf der beschleunigten Scroll-Distanz berechnet.

Unter Linux wird 2 oder -2 pro nativem Wheel-Event gesetzt.

wheelDelta, wheelDeltaX und wheelDeltaY Wert

Der wheelDelta Attributwert ist ein abstrakter Wert, der angibt, wie weit das Rad gedreht wurde. Wenn das Rad vom Benutzer weg gedreht wird, ist es positiv, andernfalls negativ. Das bedeutet, dass das Vorzeichen des Delta-Werts anders ist als bei dem wheel des DOM Level 3 Events. Jedoch ist die Bedeutung der Höhe dieser Werte nicht in allen Browsern gleich. Siehe die folgende Erklärung für Details.

IE und Opera (Presto) unterstützen nur das wheelDelta-Attribut und nicht den horizontalen Scroll.

Der wheelDeltaX Attributwert gibt den wheelDelta-Attributwert entlang der horizontalen Achse an. Wenn ein Benutzer das Gerät zum Scrollen nach rechts bedient, ist der Wert negativ. Andernfalls, d.h. wenn es nach links geht, ist der Wert positiv.

Der wheelDeltaY Attributwert gibt den wheelDelta-Attributwert entlang der vertikalen Achse an. Das Vorzeichen des Wertes ist dasselbe wie der wheelDelta-Attributwert.

Chrome

Unter Windows ist der Wert derselbe wie der Delta-Wert von WM_MOUSEWHEEL oder WM_MOUSEHWHEEL. Und auch, der Wert ändert sich nicht, selbst wenn die Scroll-Menge der Systemeinstellungen Seitenscrollen ist, d.h. der Wert ist derselbe wie bei IE unter Windows.

Unter Linux ist der Wert 120 oder -120 pro nativem Wheel-Event. Dies ergibt das gleiche Verhalten wie bei IE und Chrome für Windows.

Auf Mac ist der Wert kompliziert. Der Wert ändert sich, wenn das Gerät, das das native Wheel-Event auslöst, kontinuierliches Scrollen unterstützt.

Wenn das Gerät kontinuierliches Scrollen unterstützt (z.B. Trackpad eines MacBook oder Mausrad, das sich reibungslos drehen lässt), wird der Wert aus der beschleunigten Scroll-Menge berechnet. In diesem Fall ist der Wert derselbe wie bei Safari.

Wenn das Gerät kein kontinuierliches Scrollen unterstützt (typischerweise ein altes Mausrad, das sich nicht reibungslos drehen lässt), wird der Wert aus der nicht beschleunigten Scroll-Menge berechnet (120 pro Kerbe). In diesem Fall ist der Wert anders als bei Safari.

Dieser Unterschied stellt ein ernsthaftes Problem für Webentwickler dar. Das heißt, Webentwickler können nicht wissen, ob das mousewheel-Ereignis durch welches Gerät verursacht wurde.

Safari

Der Wert wird immer aus der beschleunigten Scroll-Menge berechnet. Dies unterscheidet sich wirklich von anderen Browsern, außer Chrome mit einem Gerät, das kontinuierliches Scrollen unterstützt.

Opera (Presto)

Der Wert ist immer der detail-Attributwert ✕ 40.

Unter Windows, da der detail-Attributwert aus der tatsächlichen Scroll-Menge berechnet wird, ist der Wert anders als bei anderen Browsern, außer die Scroll-Menge pro Kerbe ist 3 Linien in den Systemeinstellungen oder eine Seite.

Unter Linux ist der Wert 80 oder -80 pro nativem Wheel-Event. Dies unterscheidet sich von anderen Browsern.

Auf Mac wird der detail-Attributwert aus der beschleunigten Scroll-Menge des nativen Events berechnet. Der Wert ist normalerweise viel größer als der Wert von Safari oder Chrome.

Spezifikationen

Nicht Teil einer Spezifikation.

Browser-Kompatibilität

Siehe auch

  • Das standardisierte wheel Ereignis, das stattdessen verwendet werden soll.