Wheel eventsLimited availability
The wheel event fires when the user moves a mouse wheel or similar spatially rotating input device.
Not yet supported in all major browsers — check the table and provide a fallback.
Browser support
DesktopChrome
1–30Not supported
31+Supportedsince Nov 12, 2013
Current: 155Edge
12+Supportedsince Jul 29, 2015
Current: 154Firefox
1–16Not supported
17+Supportedsince Nov 20, 2012
Current: 157Safari
1–6Not supported
7+Supportedsince Oct 22, 2013
Current: 27MobileChrome Android
18–30Not supported
31+Supportedsince Nov 14, 2013
Current: 155Firefox Android
4–16Not supported
17+Supportedsince Nov 20, 2012
Current: 157Safari iOS
✕Not supportedup to 27
Current: 27How to use
Not supported in Safari iOS. Use feature detection below and provide a fallback (or a polyfill) for those browsers.
Example
Full syntax and examples are on MDN: wheel event.
Feature detection
JS · check before using
if ("WheelEvent" in globalThis) {
// WheelEvent is available
} else {
// load a polyfill or use a fallback
}Documentation (MDN)
Specification
Sub-features
Support for each part of the feature (8). The overall table above shows when the whole feature works.
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| Element.wheel_event | 31 | 12 | 17 | 7 | 31 | 17 | ✕ |
| WheelEvent | 1 | 12 | 17 | 3 | 18 | 17 | 1 |
| WheelEvent.WheelEvent | 26 | 12 | 17 | 7 | 26 | 17 | 7 |
| WheelEvent.deltaMode | 26 | 12 | 17 | 7 | 26 | 17 | 7 |
| WheelEvent.deltaX | 31 | 12 | 17 | 8 | 31 | 17 | 8 |
| WheelEvent.deltaY | 31 | 12 | 17 | 8 | 31 | 17 | 8 |
| WheelEvent.deltaZ | 31 | 12 | 17 | 8 | 31 | 17 | 8 |
| WheelEvent.pinch_to_zoom_support | 31 | 79 | 55 | 15 | 31 | 55 | ✕ |