Quiero evitar que los videos se reproduzcan mientras deslizo en dispositivos móviles.
He intentado lo siguiente:
$(document).ready(function() { const wrappers = document.querySelectorAll('.video-wrapper'); let touchmoved; wrappers.forEach((wrapper) => { wrapper.addEventListener(clickTouch, function () { playVideo(wrapper); }); }); const playVideo = (wrapper) => { let video = wrapper.querySelector('video'); checkIfSwiping(); // console.log(touchmoved); if(touchmoved != true){ if (video.paused || video.ended) { video.play(); } else { video.pause(); } } } function checkIfSwiping() { $('.video-wrapper').on('touchend', function(e){ touchmoved = false; // not working }).on('touchmove', function(e){ touchmoved = true; }).on('touchstart', function(e){ touchmoved = false; }); } });Referencia: evitar el inicio táctil al deslizar
Al deslizar aún se reproducen videos y, una vez en pausa, se debe hacer clic en ellos 2 o 3 veces para volver a reproducirlos.
Puedo ver que el valor de touchmoved no está definido. Definirlo (falso) evita que se reproduzcan los videos, por lo que el intento de solución no funcionó.
Después de horas de tratar de hacer que esto funcione, me vendría bien un poco de ayuda para señalar qué es lo que está mal y cómo solucionarlo.
Gracias.