javascript - iPad Safari 的悬停事件

标签 javascript jquery html css ipad

我有一个带有“主选项卡”的页面,其行为如下; 1. 将鼠标悬停在上面时,我会显示“子标签” 2. 单击任何一个主选项卡,它会转到一个默认的子选项卡页面。

$(".mainlink_href").mouseover(function(){...}

现在这些在桌面浏览器上的行为符合预期。但是在 iPad 上,当用户点击任何主选项卡时,它总是会执行悬停方法,即显示子选项卡并且不会进入子选项卡页面(如在桌面中)

现在我同意,这是按照预期的 iPad 行为,因为没有鼠标光标来跟踪悬停事件,否则...

但有什么方法可以更新代码,使“仅适用于 iPad”在第一次点击时不通过悬停方法,而是执行点击事件并直接将用户带到默认子选项卡页面(即类似于桌面浏览器中上面的第 2 点)

请帮帮我。谢谢。

最佳答案

您可以只分配两个事件处理程序,并让 ontouchstart 处理程序删除 onmouseover 处理程序。

$(".mainlink_href").mouseover(function(){...});
$(".mainlink_href").ontouchstart(function(){this.mouseover=function(){};});

关于javascript - iPad Safari 的悬停事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6410234/

相关文章:

javascript - 如何在 1 个 if 语句中包含多个条件

javascript - 解决 Google Chrome 29 中 Canvas 崩溃的问题

javascript - 传递给 .click() 方法参数的参数是否始终是 Event 对象?

html - 创建后查找 HTML 5 web sql 数据库大小

javascript - req.body.item 未定义 - 删除请求 Express js

javascript - 引导验证器和图像选择器 - 如果选择两个可用选择输入中的任何一个,如何验证表单?

html - CSS General Sibling Selector 可能的错误

JavaScript/HTML5 Canvas 寻路复用问题

javascript - 整数不保存在循环/部分工作的 JS 中

jQuery-UI 在后台单击时关闭模式对话框