我的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次点击以进行悬停/点击)
请帮我解决这个问题。
答案 0 :(得分:0)
jQuery documentation说$(selector).hover(handlerIn, handlerOut)
只是使用$(selector).mouseenter(handlerIn).mouseleave(handlerOut)
的捷径。
这意味着没有绑定到对象的mouseover()
/ mouseout()
事件,并且移动浏览器可能无法正确处理其他2个事件(即mouseenter()
/ { {1}})。
尝试将代码替换为:
mouseleave()
如果可以,请告诉我。
答案 1 :(得分:0)
移动设备不支持鼠标悬停事件,也不支持双击事件