2011-08-09 12 views
7

Mam kod jQuery, który działa idealnie w przeglądarkach komputerowych;Mysz jQuery na iPadzie

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

Ale sama nie wywołuje na iPadzie (w wyniku czego checkbox_err jest wyświetlany na ekranie, ale nie ukrywa)

Jak wywołać zdarzenie mouseOut na iPadzie?

również będę chciał uniknąć użycia dodatkowego bibliotekę tylko rozwiązać ten mały problem ..

MAM kontynuacją PYTANIE

ja testuje stronę na iPada i jestem stoją pewne problemy implementujące równoważnik zachowania mouseout ..

Problem jest więc bardzo prosty do zrozumienia; 1. Na mojej stronie znajduje się pole wyboru na kliknięcie (lub raczej dotknięcie), chcę pokazać błądMsg 2. Po kliknięciu/dotknięciu na czymkolwiek innym niż błądMsg, chcę ukryć błądMsg

Poniżej znajduje się kod, który napisałem;

$(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"); 

}); 

Teraz problem jest, gdy kliknę/dotknąć pole wyboru The ErrorMsg pokazuje przez chwilę, a potem także ukrywa go natychmiast (ponieważ cel nie jest ErrorMsg)

Jak mogę rozwiązać ten problem kwestia?

Odpowiedz

2

można spróbować .blur() zamiast .mouseout()

+1

blur() nie działa na iPad – Diana

-1

Można spróbować z GestureEnd() imprezy w iPadzie

+0

nie jest GestureEnd do wielokrotnego dotyku i nie za jednym dotknięciem ... szukam odpowiednika rozmycia/mouseout .. – Diana

+0

@Diana: nie ma takich zdarzeń takich jak mouesout i mouseover w środowisku dotyku. Zajrzyj na http://backtothecode.blogspot.com/2009/10/javascript-touch-and-gesture-events.html –

+0

Dobrze ... Ale czy istnieje jakieś obejście do wdrożenia odpowiednik mouseout? – Diana

1

Może z powodu bulgotanie? To ma dla mnie sens, wydarzenie dotrze do leżącej poniżej warstwy, która nie jest celem. Więc trzeba zatrzymać eventPropagation:

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

}); 

nadzieję, że pomoże ya. Czy znalazłeś alternatywę dla mouseout? - który mnie tu przywiódł.