The WheelEvent interface represents events that occur due to the user moving a mouse wheel or similar input device.
This is the standard wheel event interface to use.
Old versions of browsers implemented the two non-standard and non-cross-browser-compatible MouseWheelEvent and MouseScrollEvent interfaces. Use this interface and avoid the latter two.
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 11.666666666666666%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 70" preserveAspectRatio="xMinYMin meet"><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/Event" target="_top"><rect x="1" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="38.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Event</text></a><polyline points="76,25 86,20 86,30 76,25" stroke="#D4DDE4" fill="none"/><line x1="86" y1="25" x2="116" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/UIEvent" target="_top"><rect x="116" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="153.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">UIEvent</text></a><polyline points="191,25 201,20 201,30 191,25" stroke="#D4DDE4" fill="none"/><line x1="201" y1="25" x2="231" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent" target="_top"><rect x="231" y="1" width="100" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="281" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">MouseEvent</text></a><polyline points="331,25 341,20 341,30 331,25" stroke="#D4DDE4" fill="none"/><line x1="341" y1="25" x2="371" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent" target="_top"><rect x="371" y="1" width="100" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="421" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">WheelEvent</text></a></svg></div>
  a:hover text { fill: #0095DD; pointer-events: all;}
Constructor
- WheelEvent()
- Creates a WheelEventobject.
Properties
This interface inherits properties from its parents, MouseEvent, UIEvent and Event.
- WheelEvent.deltaXRead only
- Returns a doublerepresenting the horizontal scroll amount.
- WheelEvent.deltaYRead only
- Returns a doublerepresenting the vertical scroll amount.
- WheelEvent.deltaZRead only
- Returns a doublerepresenting the scroll amount for the z-axis.
- WheelEvent.deltaModeRead only
- Returns an unsigned longrepresenting the unit of the delta values scroll amount. Permitted values are:Constant Value Description DOM_DELTA_PIXEL0x00The delta values are specified in pixels. DOM_DELTA_LINE0x01The delta values are specified in lines. DOM_DELTA_PAGE0x02The delta values are specified in pages. 
Methods
This interface doesn't define any methods, but inherits methods from its parents, MouseEvent, UIEvent and Event.
Specifications
| Specification | Status | Comment | 
|---|---|---|
| Document Object Model (DOM) Level 3 Events Specification The definition of 'WheelEvent' in that specification. | Working Draft | Initial definition. | 
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) | 
|---|---|---|---|---|---|---|
| Basic support | 31 | (Yes) | 17.0 (17.0) | 9.0 | 18 | 7.0 | 
| window.WheelEvent | (Yes) | (Yes) | 17.0 (17.0) | 9.0 | (Yes) | (Yes) [1] | 
| Pinch-to-zoom maps to WheelEvent+ Ctrl key[2] | (Yes) | ? | 55.0 (55.0) | ? | ? | ? | 
| Feature | Android | Android Webview | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android | 
|---|---|---|---|---|---|---|---|---|
| Basic support | No support | (Yes) | (Yes) | 17.0 (17.0) | ? | (Yes) | No support | (Yes) | 
| window.WheelEvent | No support | (Yes) | ? | 17.0 (17.0) | ? | (Yes) | ? | (Yes) | 
| Pinch-to-zoom maps to WheelEvent+ Ctrl key[2] | ? | ? | ? | 55.0 (55.0) | ? | ? | ? | (Yes) | 
[1] Safari doesn't support WheelEvent actually; nevertheless they return object for window.WheelEvent.
[2] This mapping was implemented to allow developers to implement simple zooming functionality using the pinch-to-zoom gesture on mobile screens/trackpads (mousewheel + Ctrl commonly zooms).
See also
- wheel
- Interfaces replaced by this one:
  - Gecko's legacy mouse wheel event object: MouseScrollEvent
- Non-gecko browsers' legacy mouse wheel event object: MouseWheelEvent
 
- Gecko's legacy mouse wheel event object: