Element: wheel event

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 (en-US).

Burbujas
Cancelable
Interfaz WheelEvent
Propiedades del manejador de eventos onwheel

Nota: No confundir el evento wheel con el evento scroll (en-US). 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(.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

Compatibilidad con navegadores

BCD tables only load in the browser

Véase también