Element: mousewheel Ereignis
Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.
Nicht standardisiert: Diese Funktion ist nicht standardisiert und befindet sich nicht auf dem Weg zur Standardisierung. Verwenden Sie sie nicht auf Produktionsseiten, die dem Web ausgesetzt sind: Sie funktioniert nicht für alle Benutzer. Es kann auch große Inkompatibilitäten zwischen Implementierungen geben, und das Verhalten kann sich in Zukunft ändern.
Das veraltete und nicht standardisierte mousewheel
Ereignis wird asynchron bei einem Element
ausgelöst, um Updates zu liefern, während ein Mausrad oder ein ähnliches Gerät bedient wird. Das mousewheel
Ereignis war nie Teil eines Standards, und obwohl es von mehreren Browsern implementiert wurde, wurde es nie von Firefox unterstützt.
Hinweis:
Statt dieses veralteten Ereignisses sollten Sie das standardisierte wheel
Ereignis verwenden.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
, oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("mousewheel", (event) => { })
onmousewheel = (event) => { }
Ereignistyp
Ein WheelEvent
. Erbt von MouseEvent
, UIEvent
und Event
.
Ereigniseigenschaften
Diese Schnittstelle erbt Eigenschaften von ihren Vorfahren, MouseEvent
, UIEvent
und Event
.
WheelEvent.deltaX
Schreibgeschützt-
Gibt ein
double
zurück, das die horizontale Scrollmenge darstellt. WheelEvent.deltaY
Schreibgeschützt-
Gibt ein
double
zurück, das die vertikale Scrollmenge darstellt. WheelEvent.deltaZ
Schreibgeschützt-
Gibt ein
double
zurück, das die Scrollmenge für die Z-Achse darstellt. WheelEvent.deltaMode
Schreibgeschützt-
Gibt ein
unsigned long
zurück, das die Einheit des Scrollbetrags derdelta*
Werte darstellt. Erlaubte Werte sind:Konstante Wert Beschreibung WheelEvent.DOM_DELTA_PIXEL
0x00
Die delta*
Werte sind in Pixeln angegeben.WheelEvent.DOM_DELTA_LINE
0x01
Die delta*
Werte sind in Zeilen angegeben. Jeder Mausklick scrollt eine Zeile Inhalt, wobei die Methode zur Berechnung der Zeilenhöhe vom Browser abhängt.WheelEvent.DOM_DELTA_PAGE
0x02
Die delta*
Werte sind in Seiten angegeben. Jeder Mausklick scrollt eine Seite des Inhalts. WheelEvent.wheelDelta
Schreibgeschützt Veraltet-
Gibt einen Ganzzahlwert (32-Bit) zurück, der die Distanz in Pixeln darstellt.
WheelEvent.wheelDeltaX
Schreibgeschützt Veraltet-
Gibt einen Ganzzahlwert zurück, der die horizontale Scrollmenge darstellt.
WheelEvent.wheelDeltaY
Schreibgeschützt Veraltet-
Gibt einen Ganzzahlwert zurück, der die vertikale Scrollmenge darstellt.
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 Zeilen angibt, wobei negative Werte zeigen, dass die Scroll-Bewegung entweder nach unten oder nach rechts geht, und positive Werte zeigen, dass sie nach oben oder nach links geht.
Hinweis:
Auf macOS wird der Scroll-Abstand (und damit der Wert von detail
) basierend auf dem beschleunigten Scroll-Abstand berechnet.
Auf Linux wird 2
oder -2
pro nativem Wheel-Ereignis gesetzt.
wheelDelta
, wheelDeltaX
und wheelDeltaY
Wert
Der wheelDelta
Attributwert ist ein abstrakter Wert, der anzeigt, wie weit das Rad gedreht wurde. Wenn das Rad vom Benutzer weg gedreht wurde, ist er positiv, andernfalls negativ. Das bedeutet, dass das Vorzeichen des delta
-Wertes anders ist als bei wheel
von DOM Level 3 Event. Jedoch ist die Bedeutung der Höhe dieser Werte zwischen Browsern nicht gleich. Siehe folgende Erklärung für die Details.
IE und Opera (Presto) unterstützen nur das wheelDelta
Attribut und unterstützen keinen 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. Ansonsten, d.h. wenn es nach links ist, 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
Auf 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 Scrollmenge in den Systemeinstellungen auf Seitenscrollen eingestellt ist, d.h. der Wert ist derselbe wie in IE auf Windows.
Auf Linux ist der Wert 120
oder -120
pro nativem Wheel-Ereignis. Dies verhält sich genauso wie IE und Chrome für Windows.
Auf Mac ist der Wert kompliziert. Der Wert ändert sich, wenn das Gerät, das das native Wheel-Ereignis auslöst, kontinuierliches Scrollen unterstützt.
Wenn das Gerät kontinuierliches Scrollen unterstützt (z.B. Trackpad eines MacBook oder ein Mausrad, das sanft gedreht werden kann), 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 nicht sanft gedreht werden kann), wird der Wert aus einer nicht beschleunigten Scroll-Menge berechnet (120 pro Raste). In diesem Fall ist der Wert anders als bei Safari.
Dieser Unterschied stellt ein ernstes Problem für Webentwickler dar. Das heißt, Webentwickler können nicht wissen, ob das mousewheel
Ereignis von welchem Gerät verursacht wurde.
Safari
Der Wert wird immer aus der beschleunigten Scroll-Menge berechnet. Dies ist wirklich anders als bei anderen Browsern außer bei Chrome, wenn ein Gerät mit kontinuerlichem Scrollen unterstützt wird.
Opera (Presto)
Der Wert ist immer der detail
Attributwert ✕ 40
.
Auf Windows, da der detail
Attributwert aus der tatsächlichen Scroll-Menge berechnet wird, ist der Wert anders als bei anderen Browsern außer, wenn die Scroll-Menge pro Raste 3 Zeilen in den Systemeinstellungen oder eine Seite beträgt.
Auf Linux ist der Wert 80
oder -80
pro nativem Wheel-Ereignis. Dies ist anders als bei anderen Browsern.
Auf Mac wird der detail
Attributwert aus der beschleunigten Scroll-Menge des nativen Ereignisses berechnet. Der Wert ist normalerweise viel größer als der von Safari oder Chrome.
Spezifikationen
Nicht Teil einer Spezifikation.
Browser-Kompatibilität
Siehe auch
- Das standardisierte
wheel
Ereignis, dem vorzuziehen ist.