ontouch versus onclick comment les différencier

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
Rego38
Messages : 5
Enregistré le : 26 janv. 2020, 19:53

ontouch versus onclick comment les différencier

Message par Rego38 » 27 janv. 2020, 20:06

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

Avatar du membre
webmaster
Administrateur du site
Messages : 574
Enregistré le : 28 févr. 2017, 15:19

Re: ontouch versus onclick comment les différencier

Message par webmaster » 28 janv. 2020, 15:41

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.
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Répondre