2011-08-09 12 views
7

Tengo un código jQuery que funciona perfectamente en los navegadores de escritorio;jQuery mouseout en el iPad

$("span#checkbox_err").mouseout(function() { 
         $("span#checkbox_err").fadeOut("slow"); 
        }); 

Sin embargo, el mismo no se desencadenan en el IPAD (como resultado se visualiza en la pantalla del checkbox_err, pero nunca se esconde)

¿Cómo activar el evento mouseout en el IPAD?

También voy a querer evitar el uso de cualquier biblioteca adicional sólo para solucionar este pequeño problema ..

TENGO UN SEGUIMIENTO PREGUNTA

Estoy probando una página en el iPad y estoy frente a algunos problemas implementando un comportamiento equivalente a mouseout.

Así que el problema es muy simple de entender; 1. En mi página, hay una casilla de verificación al hacer clic (o más bien tocar), quiero mostrar un mensaje de error 2. Al hacer clic/tocar en cualquier cosa que no sea el errorMsg, quiero ocultar el mensaje de error

A continuación se muestra la código que he escrito;

$(document).bind("touchstart",function(e){ 
     if(e.target.id != "checkbox_err") 
     $("span#checkbox_err").fadeOut("slow"); 
    }); 
} 


$("input:checkbox").bind("touchstart",function(){ 
$("span#checkbox_err").fadeIn("fast"); 

}); 

Ahora el problema es cuando hago clic/toque en la casilla de verificación, el errorMsg muestra por un tiempo y entonces también lo oculta de inmediato (ya destino no es el errorMsg)

¿Cómo puedo solucionar este problema ¿problema?

Respuesta

2

Usted podría intentar .blur() en lugar de .mouseout()

+1

desenfoque() no está funcionando en el IPAD – Diana

-1

Usted podría intentar con GestureEnd() evento en ipad

+0

No es GestureEnd de toque múltiple y no para solo toque ... Busco el equivalente de desenfoque/mouseout .. – Diana

+0

@Diana: No hay tales evento como mouesout y mouseover en entorno táctil.Haga clic en http://backtothecode.blogspot.com/2009/10/javascript-touch-and-gesture-events.html –

+0

Correcto ... Pero ¿hay alguna solución para implementar? el equivalente de mouseout? – Diana

1

Tal vez por burbujeo? Tiene sentido para mí, el evento alcanzará la capa subyacente que no es el objetivo. lo que tiene que dejar de eventPropagation:

$("input:checkbox").bind("touchstart",function(){ 
$("span#checkbox_err").fadeIn("fast"); 
event.stopPropagation. 

}); 

creo que sirve ya. ¿Encontraste una alternativa para mouseout? - que me trajo aquí

Cuestiones relacionadas