img - jQuery click fallback sans hover ipad
mouseleave jquery (2)
El iPad activa eventos táctiles cuando se toca. Una opción es usarlos en lugar de hacer clic, y no propagar al evento de clic (o usar una variable global para rastrear el estado de clic / toque)
el tacto funciona de forma similar al clic. Vea este artículo para más información: http://htmlpad.wordpress.com/2010/02/12/tracking-touch-events-on-the-ipad/
Quiero tener una función llamada cuando pasas el mouse sobre algo (y deslocasas). Sin embargo, también quiero que sea accesible para usuarios de ipad (etc.) que no tengan el vuelo estacionario. Así que quiero que sea posible un clic de retorno. ¿Cómo logro eso? Tenga en cuenta que no quiero que las personas puedan hacer clic en él si el elemento estacionario está funcionando. Esto es lo que tengo hasta ahora, que es bastante cercano:
var collapsed=1, noHover=false;
$(''#deeper'').hover(function() {deeper();});
$(''#deeper'').click(function() {if (collapsed || noHover) {
deeper();
noHover=true;
}});
function deeper() {
if (collapsed == 1) {
collapsed = 0;
$(this).children().show();
} else {
collapsed = 1;
$(this).children().hide();
}
}
Sin embargo, esto falla: si al cargar la página tiene el mouse sobre #deeper y hace clic antes de mover el mouse (el movimiento del mouse parece ser necesario para .hover disparar), noHover se convierte en verdadero, haciendo posible los clics, así como revolotea.
Debe haber una mejor manera? ¡Gracias!
Es posible que desee examinar el plugin jQuery Touchable / Hoverable , que unifica los eventos táctiles y de mouse (tocables) y los eventos de desplazamiento (hoverable) en diferentes plataformas como computadoras de escritorio y dispositivos móviles con pantallas táctiles.