We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

Our volunteers haven't translated this article into 한국어 yet. Join us and help get the job done!
You can also read the article in English (US).

The WheelEvent interface represents events that occur due to the user moving a mouse wheel or similar input device.

Important: This is the standard wheel event interface to use. Old versions of browsers implemented the non-standard and non-cross-browser-compatible MouseWheelEvent and MouseScrollEvent interfaces. Use this interface and avoid the non-standard ones.

Not to be confused with a scroll event: Please keep in mind that the default action of a wheel event is implementation-defined — a wheel event doesn't necessarily dispatch a scroll event. Even if it does, that doesn't mean that the delta values in the wheel event must reflect the content's scrolling direction. So do not rely on delta properties to get the content's scrolling direction — instead detect value changes of scrollLeft and scrollTop in a scroll event.


Creates a WheelEvent object.


This interface inherits properties from its parents, MouseEvent, UIEvent and Event.

WheelEvent.deltaX Read only
Returns a double representing the horizontal scroll amount.
WheelEvent.deltaY Read only
Returns a double representing the vertical scroll amount.
WheelEvent.deltaZ Read only
Returns a double representing the scroll amount for the z-axis.
WheelEvent.deltaMode Read only
Returns an unsigned long representing the unit of the delta values scroll amount. Permitted values are:
Constant Value Description
DOM_DELTA_PIXEL 0x00 The delta values are specified in pixels.
DOM_DELTA_LINE 0x01 The delta values are specified in lines.
DOM_DELTA_PAGE 0x02 The delta values are specified in pages.


This interface doesn't define any methods, but inherits methods from its parents, MouseEvent, UIEvent and Event.


Specification Status Comment
Document Object Model (DOM) Level 3 Events Specification
The definition of 'WheelEvent' in that specification.
Obsolete Initial definition.

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

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

문서 태그 및 공헌자

최종 변경: Zhang-Junzhi,