web-dev-qa-db-fra.com

Quelle est la différence entre les événements click et tap?

Je développe une application qui fonctionne sur Android/iOS et les ordinateurs de bureau.

Dois-je utiliser l'événement click ou tap?

Quelles sont les différences entre eux?

Le "tap" fonctionnera-t-il sur le bureau? sinon, (et je dois utiliser click) est-ce que je manque des avantages que le tap a par rapport au click?

37
Tiger

Les événements tactiles et les événements de souris sont des bêtes entièrement différentes. Ils ne sont pas interchangeables.

Cela dit, j'utilise jQuery Touch Punch qui mappe les événements tactiles à leurs analogues d'événements de souris, donc un tap devient le même chose qu'un clic. Cela permet éventuellement d'utiliser toutes les qualités standard de l'interface utilisateur jQuery sans avoir à faire de programmation d'événement tactile spéciale. Il est extrêmement simple à utiliser et, jusqu'à présent, a parfaitement fonctionné pour moi sur iDevices et Android.

14
ghoti

Vous pouvez utiliser .on() pour lier une fonction à plusieurs événements:

$('#element').on('click tap', function() {
    ...
});

Merci à @ bergie3000 d'avoir indiqué this

26
tuned

Désolé d'avoir fait apparaître un ancien message, mais pour tous ceux qui travaillent sur jQuery avec Phonegap:

L'événement "click" ne sera pas déclenché s'il est affecté sur des éléments "div", "p" etc. qui n'étaient pas supposés être cliqués, quand "tap" le fait fonctionner parfaitement sur n'importe quel élément! Cela m'a pris beaucoup de temps à remarquer.

Conclusion, si vous développez quelque chose avec jQuery mobile, je suggère d'utiliser "tap" au lieu de "click", car cela pourrait causer des problèmes

8
Rokoco

Je voudrais regarder dans la documentation jQM pour les événements, les documents actuels sont ici:

pour un appareil mobile, utilisez des événements tactiles, si vous avez besoin d'événements de souris, jQM fournit également des événements de souris virtuelle.

Événements de souris virtuelle
Nous fournissons un ensemble d'événements de souris "virtuels" qui tentent d'abstraire les événements de souris et de toucher. Cela permet au développeur d'enregistrer des écouteurs pour les événements de base de la souris, tels que mousedown, mousemove, mouseup et click, et le plugin se chargera d'enregistrer les écouteurs appropriés en arrière-plan pour invoquer l'écouteur au moment le plus rapide possible pour cet appareil . Dans les environnements tactiles, le plug-in conserve l'ordre de déclenchement des événements qui est vu dans les environnements de souris traditionnels, par exemple, vmouseup est toujours distribué avant vmousedown et vmousedown avant vclick, etc. Les événements de souris virtuels normalisent également la façon dont les informations de coordonnées sont extraites de l'événement, donc dans les environnements tactiles, les coordonnées sont disponibles à partir des propriétés pageX, pageY, screenX, screenY, clientX et clientY, directement sur l'objet événement.

Je ne dis pas que l'événement "clic" ne fonctionnera pas comme il le fait toujours, par exemple, vous pouvez cliquer sur un bouton. Mais il y aura différents événements pour les appareils mobiles vers les ordinateurs de bureau

2
Phill Pafford