web-dev-qa-db-fra.com

événement jquery click pour tablettes et téléphones à écran tactile

Ok, je suis relativement nouveau dans le développement Web pour les plates-formes mobiles/tablettes. Je suis cependant assez confiant dans le développement d'un environnement de navigateur.

Mon problème est que je ne possède aucune tablette (je suis pauvre, je dois donc voler à l'aveugle), il est donc difficile pour moi de faire des tests. Je suis également très inquiet du fait que les événements de clic ne fonctionnent pas correctement.

Comment puis-je m'assurer que les événements jquery de clic et de souris fonctionnent correctement sur les tablettes/smartphones?

Existe-t-il un consensus sur les meilleures pratiques pour les événements de clic et les tablettes/smartphones?

Remarque: Je ne développe pas de site pour mobile uniquement - le site transforme la forme pour mobile.

17
Amy Neville

Les navigateurs mobiles répondent toujours aux événements de clic, bien qu'ils introduisent un délai (généralement d'environ 300 ms). Si vous souhaitez une expérience plus réactive, vous pouvez essayer de détecter si vous êtes sur une plate-forme mobile et utiliser les événements touchstart ou touchend. Je trouve que touchend est généralement une meilleure expérience, principalement parce que la main de l'utilisateur est toujours sur le chemin quand touchstart tire.

Quelque chose comme ça:

$(element).on(isMobile ? 'touchend' : 'click', function(e) {...});

Ou vous pouvez utiliser hammer.js , qui fonctionnera pour le bureau et le mobile.

En ce qui concerne les tests, vous pouvez lire les réponses à cette question Stackoverflow: Simulation d'événements tactiles sur un navigateur PC .

20
cfs