Skip to content

Prevent default action only if event is cancelable#42

Open
jelowin wants to merge 2 commits into
midudev:mainfrom
jelowin:master
Open

Prevent default action only if event is cancelable#42
jelowin wants to merge 2 commits into
midudev:mainfrom
jelowin:master

Conversation

@jelowin
Copy link
Copy Markdown

@jelowin jelowin commented May 21, 2026

🚀 Fix: Evitar intervención del navegador en eventos táctiles del Slider

📝 Descripción
Este PR corrige un error recurrente de Intervención del Navegador (Browser Intervention) que se genera al interactuar con el componente react-slidy en dispositivos móviles o emuladores táctiles.

El navegador (especialmente Chrome) bloquea de forma unilateral los intentos de cancelar el scroll mediante JavaScript si la página ya ha iniciado el movimiento, arrojando el siguiente error en la consola:

Intervention: Ignored attempt to cancel a touchmove event with cancelable=false, for example because scrolling is in progress and cannot be interrupted.

🛠️ Problema Técnico
En el archivo slidy.js (línea 166), la librería ejecuta un e.preventDefault() de forma incondicional dentro del manejador del evento touchmove para intentar bloquear el scroll vertical mientras se arrastra el carrusel.

Sin embargo, si el usuario ya ha empezado a mover la pantalla, el navegador marca internamente el evento como no cancelable (e.cancelable = false). Al intentar forzar el preventDefault() sobre un evento que ya no se puede cancelar, el navegador ignora la instrucción y lanza una excepción en la consola, afectando negativamente a las métricas de rendimiento y experiencia de usuario.

💡 Solución Aplicada
Dado que las reglas de CSS (touch-action) no son suficientes para mitigar este comportamiento debido a la prioridad que toma el hilo principal del navegador, se ha optado por cambiar la logica del JS.

Screen.Recording.2026-05-21.at.12.30.40.mov

@vercel
Copy link
Copy Markdown

vercel Bot commented May 21, 2026

@jelowin is attempting to deploy a commit to the midudev's projects Team on Vercel.

A member of the Team first needs to authorize it.

@jelowin
Copy link
Copy Markdown
Author

jelowin commented May 21, 2026

Vale, he visto que no soluciona el error. Le daré una vuelta
Screenshot 2026-05-21 at 12 36 59

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant