L'utilisation de touchstart ou touchend seul n'est pas une bonne solution, car si vous faites défiler la page, l'appareil la détecte également comme tactile ou tapant. Ainsi, la meilleure façon de détecter un événement tap and click en même temps est de simplement détecter les événements tactiles qui ne déplacent pas l'écran (défilement). Pour ce faire, ajoutez simplement ce code à votre application:
$(document).on('touchstart', function() {
detectTap = true;
});
$(document).on('touchmove', function() {
detectTap = false;
});
$(document).on('click touchend', function(event) {
if (event.type == "click") detectTap = true;
if (detectTap){
}
});
Je l'ai testé et cela fonctionne bien pour moi sur iPad et iPhone. Il détecte le tap et peut distinguer facilement le tap et le défilement tactile.