JavaScript

Eventos swipe en dispositivos táctiles en JavaScript

Last updated: 21.02.2026
Views: 90

Cada día se incorporan a nuestras vidas dispositivos sensoriales que, a diferencia de los de escritorio, tienen eventos específicos. Uno de estos eventos es el swipe, con el que tenemos que lidiar especialmente a menudo cuando desarrollamos una versión móvil del sitio.

Los eventos swipe en dispositivos táctiles permiten a los desarrolladores detectar gestos como deslizar el dedo hacia la izquierda, la derecha, arriba o abajo, que se utilizan habitualmente para la navegación o la interacción. Estos eventos se pueden implementar mediante el seguimiento de los eventos touchstart, touchmove y touchend en JavaScript. Al capturar la posición táctil inicial (touchstart) y compararla con la posición final (touchend), puede calcular la dirección y la distancia del deslizamiento.

Por ejemplo, un swipe hacia la izquierda se produce cuando la distancia horizontal entre los puntos de inicio y fin es negativa y supera un umbral definido. De forma similar, puede comprobar los deslizamientos verticales comparando los valores del eje Y.

Código:

(() => {
    let initialPoint;
    let finalPoint;
 
    document.addEventListener('touchstart', function(event) {
        initialPoint = event.changedTouches[0];
    }, false);
 
    document.addEventListener('touchend', function(event) {
        finalPoint = event.changedTouches[0];
        let xAbs = Math.abs(initialPoint.pageX - finalPoint.pageX);
        let yAbs = Math.abs(initialPoint.pageY - finalPoint.pageY);
 
        if (xAbs > 20 || yAbs > 20) {
            if (xAbs > yAbs) {
                if (finalPoint.pageX < initialPoint.pageX) {
                    // to left
                } else {
                    // to right
                }
            } else {
                if (finalPoint.pageY < initialPoint.pageY) {
                    // to top
                } else {
                    // to down
                }
            }
        }
    }, false);
})();
author
Autor: Igor Rybalko
He estado trabajando como desarrollador front-end desde 2014. Mi principal pila tecnológica es Vue.js y WordPress.

Publicaciones similares:

  • Cómo crear un plugin jQuery personalizado
    La ventaja del plugin jQuery es que puedes usar el mismo código varias veces para diferentes objetos. En este caso, no es necesario copiar y pegar el código. Además, pued...
  • Reloj simple de JavaScript
    Existen numerosos ejemplos de cómo implementar un reloj con JavaScript, y aunque los enfoques pueden variar ligeramente, la mayoría sigue una idea similar. Normalmente, e...
  • Desplazamiento suave hacia el ancla mediante JavaScript
    El desplazamiento suave es una característica popular del diseño web que mejora la experiencia del usuario al permitir una navegación fluida entre las secciones de una pá...

Leave a Reply

Your email address will not be published. Required fields are marked *