Bonjour,
Je suis face à un soucis : je lie les évènements ontouchstart (ontouchmove et ontouchend) et onclick à une même image, pour :
- soit la faire glisser au doigt (dans un slider) => avec ontouch...
- soit la faire s'afficher en plein écran => avec onclick
Jusque là, rien de particulier : si on slide l'image alors elle se décale, et si on clique dessus alors elle s'affiche en plein écran.
Mais je viens de m'apercevoir que lorsque je clique sur l'image alors les fonctions ontouchstart, move et end sont également lancées.
Et elles sont exécutées même avant la fonction onclick.
Et, sans rentrer dans le détail, cela me crée des problèmes dans une variable que j'incrémente.
Ma question est donc la suivante : comment faire pour éviter le lancement des fonctions ontouchstart, move et end quand ej fais un simple clique sur l'image.
Merci avance
ontouch versus onclick comment les différencier
Re: ontouch versus onclick comment les différencier
Bonjour,
J'ai fait le test également et en effet, l'enchainement des événements est bien touchstart, touchend puis click.
Il n'y a pas de touchmove dans le cas d'un click.
J'imagine que c'est par cette astuce qu'il faut détecter la différence. Mais cela implique d'utiliser un timer pour attendre les quelques centiemes de secondes la fin du click.
J'ai fait le test également et en effet, l'enchainement des événements est bien touchstart, touchend puis click.
Il n'y a pas de touchmove dans le cas d'un click.
J'imagine que c'est par cette astuce qu'il faut détecter la différence. Mais cela implique d'utiliser un timer pour attendre les quelques centiemes de secondes la fin du click.
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php
https://www.toutjavascript.com/livre/index.php
Re: ontouch versus onclick comment les différencier
L'événement onclick se déclenche lorsqu'un utilisateur clique sur un élément. Cet événement est utilisé sur les appareils dotés de souris (comme les ordinateurs de bureau et les ordinateurs portables) ainsi que sur les appareils tactiles, où il est déclenché par un tapotement.
Hole IO
Hole IO
Re: ontouch versus onclick comment les différencier
Ainsi, lorsque l'utilisateur clique sur l'image, les fonctions ontouchstart, ontouchmove et ontouchend ne seront pas lancées, car le système détectera qu'il s'agit d'un simple clic et non d'un geste tactile.