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

How do I avoid hover event to fire in iPhone and iPad?

我在我的 Divs 上添加了 hoverEnter 和 hoverLeave 效果,假设这些事件不会在 iOS 设备上触发。但是在 iOS 设备上,hoverEnter 和 click 事件触发并且 hoverEnter 效果保持不变。我不希望这些悬停事件在移动设备上触发。我应该怎么办。我通过 Javascript 附加事件,悬停事件附加到点击事件之前的 div。

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

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