Element: wheel event
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
El evento wheel se activa cuando el usuario gira un botón de rueda en un dispositivo señalador (normalmente un ratón).
Este evento reemplaza el evento obsoleto no estándar mousewheel.
Propiedades
| Burbujas | Sí |
|---|---|
| Cancelable | Sí |
| Interfaz | WheelEvent |
| Propiedades del manejador de eventos | onwheel |
Nota:
No confundir el evento wheel con el evento scroll. La acción predeterminada de un evento wheel es específica de la implementación y no necesariamente envía un evento scroll. Incluso cuando lo hace, los valores delta* en el evento wheel no reflejan necesariamente la dirección de desplazamiento del contenido. Por lo tanto, no confíe en las propiedades delta* del evento wheel para obtener la dirección de desplazamiento. En su lugar, detecte los cambios de valor de scrollLeft y scrollTop del objetivo en el evento scroll.
Ejemplos
>Escalar un elemento a través de la rueda
Este ejemplo muestra cómo escalar un elemento usando la rueda del mouse (u otro dispositivo señalador).
<div>Escálame con la rueda de tu ratón.</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;
// Restricción de escala
scale = Math.min(Math.max(0.125, scale), 4);
// Aplicar transformación de escala
el.style.transform = `scale(${scale})`;
}
let scale = 1;
const el = document.querySelector("div");
el.onwheel = zoom;
Equivalente en addEventListener
El manejador de eventos también se puede configurar mediante el método addEventListener():
el.addEventListener("wheel", zoom);
Especificaciones
| Specification |
|---|
| UI Events> # event-type-wheel> |
| HTML> # handler-onwheel> |
Compatibilidad con navegadores
Loading…