【问题标题】:jQuery hover event on <a> tag on mobile devices移动设备上 <a> 标签上的 jQuery 悬停事件
【发布时间】:2012-03-14 05:40:46
【问题描述】:

jQuery .hover() 事件似乎在移动设备上运行良好(在 iOS 5.1 Safari 上测试它)只要它不在锚元素 &lt;a&gt; 上。工作正常意味着它将触发绑定在其上的悬停处理程序。

但是,当悬停事件发生在&lt;a&gt; 时,浏览器会被重定向到来自href 的URL。

我希望它在第一次触摸时先悬停(运行事件处理程序),然后在第二次触摸时重定向(触发点击)。有没有办法做到这一点?

【问题讨论】:

    标签: javascript jquery mobile hover


    【解决方案1】:

    您必须向链接添加一个事件处理程序,以更改有关 DOM 的某些内容(例如切换类以更改背景颜色等)

    来自Mobile Safari docs

    鼠标事件的传递顺序与您在其他网络中所期望的顺序相同 浏览器如图 6-4 所示。如果用户点击不可点击的 元素,不生成任何事件。如果用户点击一个可点击的 元素,事件按此顺序到达:mouseover、mousemove、mousedown、 mouseup,然后单击。只有当用户点击鼠标时才会发生 mouseout 事件 另一个可点击的项目。此外,如果页面内容在 mousemove 事件,不会发送序列中的后续事件。 这种行为允许用户点击新内容

    【讨论】:

    • 我仍然不明白“更改”是什么意思,因为我尝试了很多事情(包括您建议的事情)但仍然无法阻止它触发点击事件。对此有何详细说明?谢谢
    • 为了阻止它点击添加参数e并设置e.preventDefault();在提供给 hover() 的函数中;对于另一部分,我不完全确定我了解您想要实现的目标。我在这里做了一个修补程序:tinker.io/ff4ab这是你想要的吗?
    • @limelights,我仍然需要它来重定向,但在第二次触摸时。这是一个下拉菜单。所以,第一次触摸应该打开子菜单,第二次触摸只会重定向。
    • universityvw.net 顶部有菜单,应该像您的想法一样。我使用上述技术编写了驱动这些菜单的代码。
    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    • 2015-11-04
    • 2014-10-18
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多