如何避免在iPhone和iPad中触发悬停事件?

时间:2015-06-19 07:35:23

标签: javascript ios iphone javascript-events jquery-hover

我在我的Div上添加了对hoverEnter和hoverLeave的效果,假设这些事件不会在iOS设备上触发。但在iOS设备上,hoverEnter和click事件触发以及hoverEnter效果得以维持。我不希望这些悬停事件在移动设备上触发。我该怎么办。我通过javascript附加事件,并且在单击事件之前将悬停事件附加到div。

1 个答案:

答案 0 :(得分:0)

要模拟悬停,您只需向要悬停事件的元素添加事件侦听器,您可以使用touchstart和touchend事件而不是使用悬停

if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
    $(".menu li a").bind('touchstart', function(){
        console.log("touch started");
    });
    $(".menu li a").bind('touchend', function(){
        console.log("touch ended");
    });
}