¿Hay alguna manera de enlazar un evento de doble toque (en una sola línea de código) para safari móvil? O bien, la alternativa es implementarlo interceptando dos eventos de un solo toque que ocurrieron en un corto tiempo dado (ejemplo: http://appcropolis.com/blog/implementing-doubletap-on-iphones-and-ipads/)?Doble toque en safari móvil
Respuesta
Respuesta corta: debe implementar a través de dos clics.
respuesta real: Aquí es una aplicación jQuery libre de doble toque para Safari móvil que sólo requiere una línea de código (para habilitar dblclick evento):
Además, es probable que necesite disable mobile Safari's default zoom con esta metaetiqueta:
<meta name="viewport" content="width=device-width,user-scalable=no" />
Invalidar dblclick
evento y utilizar bind
, live
, on
, delegate
como para cualquier otro evento:
jQuery.event.special.dblclick = {
setup: function(data, namespaces) {
var elem = this,
$elem = jQuery(elem);
$elem.bind('touchend.dblclick', jQuery.event.special.dblclick.handler);
},
teardown: function(namespaces) {
var elem = this,
$elem = jQuery(elem);
$elem.unbind('touchend.dblclick');
},
handler: function(event) {
var elem = event.target,
$elem = jQuery(elem),
lastTouch = $elem.data('lastTouch') || 0,
now = new Date().getTime();
var delta = now - lastTouch;
if(delta > 20 && delta<500){
$elem.data('lastTouch', 0);
$elem.trigger('dblclick');
}else
$elem.data('lastTouch', now);
}
};
funciona en safari, pero no funciona en el escritorio de cromo – alpere
Si usted quiere tener trabajo doble clic tanto en el navegador y la plataforma de IOS, usted debe tener el siguiente código:
jQuery.event.special.dblclick = {
setup: function(data, namespaces) {
var agent = navigator.userAgent.toLowerCase();
if (agent.indexOf('iphone') >= 0 || agent.indexOf('ipad') >= 0 || agent.indexOf('ipod') >= 0) {
var elem = this,
$elem = jQuery(elem);
$elem.bind('touchend.dblclick', jQuery.event.special.dblclick.handler);
} else {
var elem = this,
$elem = jQuery(elem);
$elem.bind('click.dblclick', jQuery.event.special.dblclick.handler);
}
},
teardown: function(namespaces) {
var agent = navigator.userAgent.toLowerCase();
if (agent.indexOf('iphone') >= 0 || agent.indexOf('ipad') >= 0 || agent.indexOf('ipod') >= 0) {
var elem = this,
$elem = jQuery(elem);
$elem.unbind('touchend.dblclick');
} else {
var elem = this,
$elem = jQuery(elem);
$elem.unbind('click.dblclick', jQuery.event.special.dblclick.handler);
}
},
handler: function(event) {
var elem = event.target,
$elem = jQuery(elem),
lastTouch = $elem.data('lastTouch') || 0,
now = new Date().getTime();
var delta = now - lastTouch;
if (delta > 20 && delta < 500) {
$elem.data('lastTouch', 0);
$elem.trigger('dblclick');
} else {
$elem.data('lastTouch', now);
}
}
};
Inténtelo aquí:
Awesome code. Funcionó perfectamente –
- 1. Doble toque en UIButton
- 2. Perfil móvil Safari (iPad) javascript?
- 3. Artefactos de línea en Safari móvil
- 4. ¿Doble toque o dos toques simples?
- 5. Safari móvil: manifiesto de audio + caché
- 6. Doble toque en el intervalo de tiempo estándar
- 7. Desactivar zoom de doble toque en MKMapView (iOS 6)
- 8. Objetivo-c: ¿Cómo detectar doble toque en la vista?
- 9. Seleccionar texto en el dispositivo móvil Safari en el iPhone
- 10. iframe se corta cuando en div en safari móvil
- 11. Prevenir la superposición gris en touchstart en Safari móvil/Webview
- 12. window.location sin definir en todas las propiedades en Safari 6 y Safari móvil (iOS 6)
- 13. ¿Limitaciones del tamaño de la imagen en el safari móvil?
- 14. setInterval pausa en iphone/ipad (Safari móvil) durante el desplazamiento
- 15. href = tel: 555 enlace no funciona en el safari móvil
- 16. ¿Se puede autocapitalizar desactivar con javascript en el safari móvil?
- 17. Lea UDID de Iphone con javascript en el safari móvil
- 18. Imágenes borrosas en el safari móvil iphone 4
- 19. ¿Cómo corregir problemas de representación de fuentes en Safari móvil?
- 20. Detener iframe redirigir/abrir safari móvil en proyecto de teléfono
- 21. iphone - gesto de un solo toque conflicto con el doble
- 22. Detener jQuery Evento de deslizamiento móvil doble burbujeo
- 23. Componente deslizable de doble rango y móvil en iOS
- 24. Ayúdenme a entender el tamaño del texto de Safari móvil
- 25. Safari móvil Reflow sin cambiar el tamaño - comportamiento de error
- 26. interesante problema de contenido oculto de safari móvil
- 27. ¿Cómo puedo inspeccionar el objeto ventana para safari móvil?
- 28. Marco "pantalla inicial" nombre del icono de Safari móvil
- 29. Mobile Safari: evento "touchend" que no se activa cuando se elimina el último toque?
- 30. Problema de escalabilidad con -webkit-transform con safari móvil en el iPad
¿No se usa la pestaña doble para ampliar? ¿Se activan 2 eventos tap en el navegador? – Undefined
mismo evento que se utiliza para el zoom y me gustaría anular el comportamiento para una situación dada concreta – BreakPhreak
Disculpe si no estoy relacionado con su problema pero si muestra una página web puede especificar la configuración de la ventana gráfica en la metaetiqueta. Puedes ver esto en el iwebkit desde snippetspace. –