Element: wheel event
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 |
---|
UI Events # event-type-wheel |
Browser compatibility
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
wheel event | ChromeFull support61 | EdgeFull support12 | FirefoxFull support17 | Internet ExplorerFull support9 | OperaFull support48 | SafariFull support7 | WebView AndroidFull support61 | Chrome AndroidFull support61 | Firefox for AndroidFull support17 | Opera AndroidFull support45 | Safari on iOSFull support7 | Samsung InternetFull support8.0 |
Legend
- Full support
- Full support
- See implementation notes.