que long hold eventos detectar custom javascript android jquery ios jquery-mobile

javascript - hold - long click jquery



Usando jquery mobile tap en lugar de click (1)

Estoy creando una aplicación web que necesita ejecutarse tanto en dispositivos móviles como en dispositivos no móviles. En mi aplicación, tengo varios iconos en los que el usuario puede hacer clic para enviar un mensaje a un servidor utilizando websockets.

Mi código se ve algo así como:

$(''.button-container'').on(''tap'', ''.sender'', function() { socket.send(''Message''); });

El uso de ''tocar'' en lugar de ''hacer clic'' se hace para proporcionar soporte para el iPad (y otros dispositivos móviles), pero como esto parece una especie de truco, tengo algunas preocupaciones.

''tap'' parece funcionar en mis navegadores de prueba, Safari 7, Chrome 34 y Firefox 26 (todos no móviles), pero ¿cómo es compatible con otros navegadores que no son móviles?

¿Hay algún problema conocido al usar ''toque'' sobre ''clic'' para navegadores que no sean para dispositivos móviles?


Los eventos especiales de jQuery Mobile, es decir, tap , taphold , vclick ... etc, son originalmente eventos táctiles y de mouse convertidos en eventos especiales.

Por ejemplo, tap y vclick son touchstart / touchend o mousedown / mouseup .

Al cargar jQuery Mobile, verifica si el navegador admite el toque y, en consecuencia, los eventos se convierten en eventos de mouse o eventos táctiles .

Puede alternar entre eventos dependiendo del soporte táctil del navegador. Para los navegadores que no son táctiles, use el click y los que son compatibles con el touch , use tap .

Al iniciar, compruebe $.support.touch , devolverá true ( tap ) o falso ( click ).

var custom_event = $.support.touch ? "tap" : "click"; $(document).on(custom_event, "element", function () { /* code */ });

Pruebe la demostración a continuación en su escritorio y dispositivo móvil.

Manifestación