【问题标题】:How to trigger Mouse-Over on iPhone?如何在 iPhone 上触发鼠标悬停?
【发布时间】:2010-12-21 20:20:20
【问题描述】:

这似乎是一个非常愚蠢的问题,但我正在编写一个应用程序,并且我遇到了我的鼠标悬停、鼠标单击和鼠标悬停需要绑定到它们的不同事件的地方。现在在 Internet Explorer、Firefox 和 Safari 上。这一切都按预期工作。

但是,在我的 iPhone 上,这些操作不会触发。现在我的问题是,当我按住手指并触发事件时,他们有什么具体的方法可以让鼠标悬停在本质上被触发吗?

当您将鼠标悬停在应该显示 +1 或标志图标的评论上时,此网站上的一个示例是正确的。

我正在使用 jQuery。

【问题讨论】:

标签: javascript jquery ios jquery-events


【解决方案1】:

答案在 Remus 发布的文档中。如果添加 onclick = "void(0)" 声明,您将指示 Mobile Safari 该元素是可点击的,并且您将获得对该元素的 mouseover 事件的访问权限。

更多信息here

【讨论】:

  • 谢谢。我继承了一个只有 CSS、基于悬停的菜单系统的网站,并将其添加到每个元素使其工作。
  • 能否将其标记为答案以帮助他人?
  • 谢谢!还在工作!卡在 Safari 上,无法使用我的“鼠标悬停”事件侦听器。使用了这个技巧,现在“鼠标悬停”侦听器通过触摸触发。
【解决方案2】:

我认为您需要重新考虑针对 iPhone(以及任何移动设备)的设计。 iPhone 网络界面不应依赖于鼠标悬停和悬停,因为它们只会使界面变得非常复杂。

我强烈建议您设计一个针对移动查看优化的新界面,无需单击小箭头即可显示更多选项。

【讨论】:

  • 嗯,在我看来,苹果一直在推动各种不同的触摸能力。我想如果是这种情况,那么也许我将不得不像第三方框架一样使用,我想知道那些是否能处理我的情况。我已经在网络上看到了一些预先形成滑动的东西。
  • 是的,iPhone 可以处理各种不同的多点触控手势,例如滑动和捏合。它还提供了多点触控 API。但是,没有任何软件可以让电容式触摸屏在 1 厘米外感应到您手指的存在。
  • 这不是问题的答案,@Hal 的答案应该标记为答案。
【解决方案3】:

Mobile Safari 没有鼠标和悬停事件(至少在通常接受的意义上没有),它们在 Creating Compatible Web Content Unsupported iPhone OS Technologies 中明确指出:

鼠标悬停事件 用户不能“鼠标悬停” iPhone OS 上的不可点击元素。这 元素必须是可点击的 mouseover 事件如所述发生 在“One-Finger Events”中。

悬停样式 因为只发送鼠标悬停事件 在 mousedown 事件之前,悬停样式 仅在用户触摸时显示 并持有一个可点击的元素 悬停风格。阅读“Handling Events” 对于由生成的所有事件 iPhone OS 上的手势。

【讨论】:

  • 我什至不确定我是否同意 Apple 在这方面的措辞。您引用的文档立即表示,文档本节的标题不支持它们,但随后对该节文本中支持它们的情况进行了警告。
【解决方案4】:

是的...我认为提出问题的人实际上并不希望设备“感知”悬停或鼠标悬停。实际上,您必须非常自大才能假设某人确实是这个意思。需要一些触发这些事件处理程序的方法。我绝对可以在项目上方出现的“提示”文本中看到它们的用途。

无论谁说不使用鼠标事件会带来更清洁、更简单的体验,都是把他们自己的意见看得太认真了。这些可以极大地增强网页/应用程序体验或使它们变得更糟。这是一个谨慎使用的问题。

这里提供的唯一有价值的答案是任何人说最好有一个针对移动设备优化的备用网站。或者可能使用基于浏览器类型生成页面的内容管理系统(类似于 Wikipedia 的工作方式)。

【讨论】:

    【解决方案5】:

    恭喜你发现了关于触摸屏 UI 设计的第一件事。坏消息是,你想要的不会发生。

    好消息是,这将迫使您为 iPhone 用户和普通网络用户创建一个更简单的界面。

    【讨论】:

    • 嗯,鼠标悬停不适合干净的用户界面,有很多用例很好,此时数据悬停的图表只是其中之一。
    • 是的,你应该看看 Diet Coda 的“超级放大镜”功能:macstories.net/stories/…
    【解决方案6】:

    您根本无法在触摸屏设备上使用鼠标悬停或悬停功能,除非您可以移动虚拟指针(尽管没有触摸 UI 提供这种功能),但这会破坏触摸屏 UI 的意义。

    触摸屏 UI 是一种范式转变,将鼠标指针 UI 界面重新安装回触摸 UI 设计只会限制和破坏您的解决方案。

    【讨论】:

    • 我不是要地毯式炸弹,我也不会在此评论之后,但你也应该看看这里,在饮食尾声的“超级放大镜”功能:macstories.net/stories/…
    【解决方案7】:

    用 javascript 编写鼠标处理程序似乎相当简单,尽管我可以想象很多边缘情况很容易出错。

    好消息是,有人编写了一个 javascript 鼠标处理程序/模拟器——作为书签。它被称为 iCursor(不要与同名的毫无意义的 mac 应用程序混淆)。

    坏消息是,这家伙的网站 (icursor.mobi) 已经停播,我找不到副本,所以我无法告诉你它的运行情况。 Here's a review(因为我只能发一个链接):

    苹果应该为 iPhone/iPad 做的就是让单指平移移动虚拟鼠标指针,两指平移在视口内移动(就像现在的单指一样)。

    两指平移很容易;我能想象 Apple 这样做的唯一原因是他们实际上想破坏世界上 50% 的网站。严重地。微软这些年来一直在做的破坏标准的邪恶操纵尝试就在那里。

    您是一名网络开发人员。你最讨厌什么? IE浏览器。由于所有额外的头痛,它会导致你。好吧,Stevie 必须有他“我也是”的时刻,而你会为此付出代价。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      • 2021-11-10
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多