2011-08-09 2 views
7

У меня есть код jQuery, который отлично работает на настольных браузерах;jQuery mouseout на iPad

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

Но тот же не срабатывает на IPad (в результате checkbox_err отображается на экране, но никогда не скрывает)

Как вызвать событие MouseOut на IPad?

Кроме того, я хочу, чтобы избежать использования какой-либо дополнительной библиотеки просто исправить этот маленький вопрос ..

Я ИМЕЮ прослеживание ВОПРОС

Я тестирование страницы на IPad, и я обращенную некоторые проблемы, реализующие эквивалент поведения мыши.

Таким образом, вопрос очень прост для понимания; 1. На моей странице есть флажок при щелчке (или, скорее, касание), я хочу показать ошибкуMsg 2. Нажимайте/касайте ничего, кроме errorMsg, я хочу скрыть ошибкуMsg

Ниже приведена ссылка код, который я написал;

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

}); 

Теперь вопрос, когда я нажимаю/коснемся флажком, то ErrorMsg показывает на некоторое время, а затем он и скрывает это немедленно (так как цель не ErrorMsg)

Как это исправить вопрос?

ответ

2

Вы можете попробовать .blur() вместо .mouseout()

+1

размытие() не работает на IPad – Diana

-1

Вы можете попробовать с GestureEnd() событие в IPad

+0

Не GestureEnd для множественного прикосновения, а не для одного прикосновения ... Я ищу эквивалент размытия/MouseOut .. – Diana

+0

@Diana: нет таких событие, подобное mouesout и mouseover, в сенсорной среде. Посмотрите на http://backtothecode.blogspot.com/2009/10/javascript-touch-and-gesture-events.html –

+0

Правильно ... Но есть ли какие-либо способы обхода эквивалент мышиного? – Diana

1

Может быть, из-за бульканье? Имеет смысл для меня, событие достигнет нижнего слоя, который не является целью. Таким образом, вы должны остановить eventPropagation:

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

}); 

Надеется, что это помогает я. Вы случайно нашли альтернативу для мыши? - что привело меня сюда.