iPad悬停/点击问题

时间:2012-06-11 10:21:25

标签: javascript iphone ipad safari mobile-safari

我的HTML代码为

<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));
    }
)

所以问题如下; 在第一次点击链接时,它会立即将用户带到目标网址(而不是提前2次点击以进行悬停/点击)

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

jQuery documentation$(selector).hover(handlerIn, handlerOut)只是使用$(selector).mouseenter(handlerIn).mouseleave(handlerOut)的捷径。

这意味着没有绑定到对象的mouseover() / mouseout()事件,并且移动浏览器可能无法正确处理其他2个事件(即mouseenter() / { {1}})。

尝试将代码替换为:

mouseleave()

如果可以,请告诉我。

答案 1 :(得分:0)

移动设备不支持鼠标悬停事件,也不支持双击事件