JQuery Mouseout на iPad - PullRequest
       2

JQuery Mouseout на iPad

7 голосов
/ 09 августа 2011

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

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

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

Как вызвать событие отключения мыши на iPad?

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

У меня есть следующий вопрос

Я тестирую страницу на iPad и сталкиваюсь с некоторыми проблемами, связанными с аналогичным поведением мыши.

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

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

$(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 некоторое время отображается, а затем сразу же скрывает его (поскольку target не является errorMsg)

Как мне исправить эту проблему?

Ответы [ 4 ]

2 голосов
/ 09 августа 2011

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

1 голос
/ 20 сентября 2012

этот пример наверняка вам поможет! http://jsfiddle.net/PzTcS/12/, Хорошо работает на iPad.

1 голос
/ 13 февраля 2012

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

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

});

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

0 голосов
/ 09 августа 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...