The wheel event fires when the user rotates a wheel button on a pointing device (typically a mouse).
This event replaces the non-standard deprecated mousewheel event.
| Bubbles | Yes |
| Cancelable | Yes |
| Interface | WheelEvent
|
| Event handler property | onwheel
|
Note: Don't confuse the wheel event with the scroll event. The default action of a wheel event is implementation-specific, and doesn't necessarily dispatch a scroll event. Even when it does, the delta* values in the wheel event don't necessarily reflect the content's scrolling direction. Therefore, do not rely on the wheel event's delta* properties to get the scrolling direction. Instead, detect value changes of scrollLeft and scrollTop of the target in the scroll event.
Examples
Scaling an element via the wheel
This example shows how to scale an element using the mouse (or other pointing device) wheel.
<div>Scale me with your mouse wheel.</div>
body {
min-height: 100vh;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
}
div {
width: 105px;
height: 105px;
background: #cdf;
padding: 5px;
}
function zoom(event) {
event.preventDefault();
scale += event.deltaY * -0.01;
// Restrict scale
scale = Math.min(Math.max(.125, scale), 4);
// Apply scale transform
el.style.transform = `scale(${scale})`;
}
let scale = 1;
const el = document.querySelector('div');
el.onwheel = zoom;
addEventListener equivalent
The event handler can also be set up using the addEventListener() method:
el.addEventListener('wheel', zoom);
Specifications
| Specification | Status | Comment |
|---|---|---|
| UI EventsThe definition of 'wheel' in that specification. | Working Draft |
Browser compatibility
Update compatibility data on GitHub
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
wheel event
|
Chrome
Full support 61 |
Edge
Full support 12 |
Firefox
Full support 17 |
IE Full support 9 Full support 9 Notes' Internet Explorer only exposes the wheel event via |
Opera
Full support 48 |
Safari
Full support 7 |
WebView Android
Full support 61 |
Chrome Android
Full support 61 |
Firefox Android
Full support 17 |
Opera Android
Full support 45 |
Safari iOS
Full support 7 |
Samsung Internet Android
Full support 8.0 |
Legend
- Full support
- Full support
- See implementation notes.'
- See implementation notes.
See also
Element: wheel event by Mozilla Contributors is licensed under CC-BY-SA 2.5.