¿Cuál es la diferencia entre los eventos click y tap?


Estoy desarrollando una aplicación que se ejecuta en Android/iOS y computadoras de escritorio.

¿Debo usar el evento click o el evento tap?

¿cuáles son las diferencias entre ellos?

¿Funcionará el' toque ' en el escritorio? si no, (y tengo que usar click) ¿me falta alguna ventaja que el tap tiene sobre el click?

Author: Boaz, 2012-09-14

4 answers

Los eventos táctiles y los eventos del ratón son bestias completamente diferentes. No son intercambiables.

Dicho esto, estoy usando jQuery en la Pantalla qué mapas toque eventos a sus análogos de eventos del ratón, por lo que un toque se convierte en lo mismo que un clic. Esto hace que sea posible utilizar todas las bondades estándar de la interfaz de usuario de jQuery sin tener que hacer ninguna programación especial de eventos táctiles. Es extremadamente simple de usar, y hasta ahora ha funcionado perfectamente para mí tanto en iDevices como en Android.

 14
Author: ghoti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-14 10:55:34

Puede usar .on() para vincular una función a varios eventos:

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

Gracias a @ bergie3000 por señalar esto

 25
Author: tuned,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:46:11

Lo siento por traer el viejo post, pero para cualquiera que esté trabajando en jQuery con Phonegap:

El evento" click "no se activará si se asigna en "div", "p", etc. elementos que no se supone que se haga clic, cuando "toque" hace que funcione perfectamente en cualquier elemento! Me llevó años darme cuenta.

Conclusión, si desarrolla algo con jQuery mobile, le sugeriría usar " tap "en lugar de" click", ya que podría causar algunos problemas

 7
Author: Rokoco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-10 05:22:30

Echaría un vistazo a la documentación de jQM para Eventos, los documentos actuales están aquí:

Para un dispositivo móvil use eventos táctiles, si necesita eventos de mouse, jQM también proporciona eventos de mouse virtual para esto.

Eventos de ratón virtual
Proporcionamos un conjunto de eventos "virtuales" del ratón que intentan abstraer los eventos del ratón y del tacto. Este permite al desarrollador registrarse oyentes para los eventos básicos del ratón, como mousedown, mousemove, mouseup y click, y el plugin tenga cuidado de registrar a los oyentes correctos detrás de las escenas para invoque el receptor en el momento más rápido posible para ese dispositivo. En toque entornos, el plugin conserva el orden de disparo de eventos que se ve en entornos de ratón tradicionales, por ejemplo, vmouseup es siempre enviado antes de vmousedown, y vmousedown antes de vclick, sucesivamente. Los eventos del ratón virtual también normalizar cómo coordinar la información se extrae del evento, por lo que en contacto basado entornos, coordenadas están disponibles en la pageX, pageY, screenX, screenY, clientX y clientY, directamente en el objeto evento.

No estoy diciendo que el evento 'click' no funcione como todavía lo hace, por ejemplo, puede hacer clic en un botón. Pero habrá diferentes eventos para dispositivos Móviles versos Escritorios

 2
Author: Phill Pafford,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-14 12:25:08