2012-06-11 3 views
0

У меня есть код HTML как;IPad наведите указатель мыши/нажмите

<a href="someTarget.html" class="menuLink">Link</a> 

Теперь код JS был ранее;

$(".menuLink").mouseover(function(){ 
    //code for show() submenu 
} 


$(".menuLink").mouseout(function(){ 
    //code for hide() submenu 
} 

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

По какой-то причине (добавив задержку в главное меню) мне пришлось обновить код следующим образом;

$this.hover(
    function(){ // over 
     $this.data("timer", setTimeout(show, 500)); 
    }, 
    function(){ // out 
     $this.data("timer", setTimeout(hide, 500)); 
    } 
) 

Таким образом, проблема заключается в следующем: При первом нажатии ссылки он сразу же переводит пользователя в целевой URL (вместо двух кранов ранее для наведения/нажима)

Пожалуйста, помогите мне исправить эту проблему.

ответ

0

jQuery documentation говорит, что $(selector).hover(handlerIn, handlerOut) является просто ярлыком для использования $(selector).mouseenter(handlerIn).mouseleave(handlerOut).

Это означает, что нет mouseover()/mouseout() события переплетено к объекту и, возможно, мобильный браузер не обрабатывает это правильно для 2 других событий (то есть mouseenter()/mouseleave()).

Попробуйте заменить свой код на этот:

$this.mouseover(function(){ // over 
     $this.data("timer", setTimeout(show, 500)); 
    }).mouseout(function(){ // out 
     $this.data("timer", setTimeout(hide, 500)); 
    } 
) 

Позвольте мне знать, если это делает трюк.

+0

Я попытался обновляя в .mouseover и .mouseout ... как вы показали .... Но это все еще берет меня целевая ссылка на первый ответ ... – testndtv

+0

Но вы можете подтвердить, что этот код работает на ПК, не так ли? –

+0

Да, он отлично работает на настольных браузерах .... но не так, как ожидалось, на iPad ... – testndtv

0

Мобильные устройства не поддерживают события мыши парения, а также не поддерживает двоеборье CLICK