J'ai une application web mobile, qui utilise beaucoup de click
les gestionnaires d'événements sur les boutons, etc. Tout cela fonctionne très bien si l'utilisateur "clique" réellement (c'est-à-dire "touchdown-touchup") sur le bouton. Cependant, si l'utilisateur fait un bref glissement, alors l'événement click
ne se déclenche pas. Mes utilisateurs se plaignent souvent que l'application n'enregistre pas les clics/taps et que les autres applications fonctionnent correctement.
Bien sûr, je peux obtenir des coordonnées de la touche en ontouchstart
y ontouchend
et calcule la distance - mais je dois aussi savoir si cette distance est inférieure au maximum que le navigateur traiterait comme un "clic". Je fais no vous voulez passer à l'utilisation d'événements de démarrage/touche au lieu du clic.
J'avais l'habitude d'utiliser la bibliothèque fastclick.js pour gérer les clics/taps dans le passé, mais j'utilise maintenant les événements "clics" natifs avec touch-action: manipulation
. Existe-t-il un moyen de spécifier/contrôler le mouvement maximum du doigt sur le bouton qui est toujours enregistré comme un "clic" ?
Mise à jour sur la base des commentaires. L'application est très volumineuse et comporte des centaines, voire des milliers, d'affectations de gestionnaires d'événements (l'application a été développée au cours des huit dernières années). Il n'est pas pratique de les modifier tous, c'est pourquoi je cherche une solution qui me permettrait soit de définir le seuil une fois de manière globale, soit de résoudre le problème avec des gestionnaires de début et de fin de contact de type global.