如何在iPhone上触发鼠标悬停?

时间:2009-11-30 23:50:45

标签: javascript jquery iphone javascript-events

这可能看起来像一个非常愚蠢的问题,但我正在编写一个应用程序,我遇到了鼠标悬停,鼠标单击和鼠标悬停需要绑定到它们的不同事件。现在在Internet Explorer,Firefox和Safari上。这一切都按预期工作。

然而,在我的iPhone上,动作不会触发。现在我的问题是,当我用手指向下触发事件时,我可以通过任何特定方式将Mouse-Over基本上解雇?

当您将鼠标悬停在评论上时,此网站无效的示例就是在该网站上显示+1或标志图标。

我正在使用jquery。

7 个答案:

答案 0 :(得分:28)

答案在Remus发布的文档中。如果添加onclick =“void(0)”声明,您将指示Mobile Safari该元素是可单击的,并且您将可以访问该元素上的mouseover事件。

更多信息here

答案 1 :(得分:15)

我认为您需要重新考虑iPhone的设计(以及任何移动设备)。 iPhone Web界面不应该依赖鼠标悬停和悬停,因为它们只会使界面复杂化。

我强烈建议您设计一个针对移动查看进行了优化的新界面,不需要点击小的小箭头来显示更多选项。

答案 2 :(得分:4)

Mobile Safary没有鼠标和悬停事件(至少不是通常的通用意义),它们在Creating Compatible Web Content不受支持的iPhone OS技术中被明确地提到:

  

鼠标悬停事件用户无法“鼠标悬停”a   iPhone OS上的nonclickable元素。该   元素必须是可点击的   鼠标悬停事件如上所述发生   在“One-Finger Events。”

     

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

答案 3 :(得分:2)

是的......我不认为提出这个问题的人实际上期望该设备“感知”悬停或鼠标悬停。实际上,你必须非常傲慢地假设某人真正意味着这一点。触发这些事件处理程序的一些方法是所期望的。我可以在项目上方出现的“提示”文本中看到它们的用途。

而且没有人说过不使用鼠标事件会使一个更清洁,更简单的体验让他们认真对待自己的观点。这些可以极大地增强网页/应用程序体验或使它们变得更糟。这是谨慎使用的问题。

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

答案 4 :(得分:1)

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

好消息是,这将迫使您为iphone用户和普通网络用户制作更简单的界面。

答案 5 :(得分:0)

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

触摸屏用户界面是一种范例转换,改装的鼠标指针UI界面重新触摸触摸界面设计,只会限制并损害您的解决方案。

答案 6 :(得分:-1)

在javascript中编写mousehandler似乎相当简单,虽然我可以想象很容易让很多边缘情况出错。

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

坏消息是,该家伙的网站(icursor.mobi)已经停播,我找不到副本,所以我不能告诉你它有多好用。 Here's a review(因为我只能发布一个链接):

苹果应该为iPhone / iPad做的是单指平移移动虚拟鼠标指针,并在视口内移动双指平移(如同单指一样)。

双手平移很容易;我可以想象苹果这样做的唯一原因是他们实际上想要打破世界上50%的网站。认真。就在那里,邪恶的操纵企图打破了微软多年来一直在做的标准。

您是网络开发人员。你最讨厌什么? IE浏览器。因为它带来了所有额外的麻烦。嗯,Stevie必须有他的“我也是”的时刻,你将为此付出代价。

相关问题