2

我正在研究移动网络并面临js 中使用的mouseover/mouseout事件的问题。这两个事件用于更改链接的不透明度。问题是,我需要点击两次(在 iPhone 上测试)才能激活链接。我的猜测是,在第一次点击时,它将点击视为mouseover事件,第二次点击视为点击事件。

有什么方法可以跳过/禁用/忽略移动网络的这些事件,所以我不需要点击两次?

谢谢

4

3 回答 3

1

这是一个迟到的回应,但为了后代和任何在这里谷歌搜索的人都是一个解决方案:

不要使用 .mouseenter(),而是使用 .mousemove()。您可以离开 mouseleave(),因为在您单击移动设备上的某个项目后这无关紧要。.mousemove() 被忽略,点击在第一次触摸时触发。

您可能希望绑定/取消绑定事件,使其仅触发一次。

http://api.jquery.com/mousemove/

于 2013-01-12T11:45:02.177 回答
0

根据您的服务器端设置,也许您可​​以使用用户代理检测 - 可能特别是用户代理检测的 UAProf 元素,为特定设备提供 javascript?

这将允许您以多种不同的方式满足移动设备的需求 - 这将有助于您可能希望使用的任何其他“过度”事件行为 - 基于鼠标悬停扩展 div 等。

如果您搜索用户代理检测,已经有很多可用信息 - 希望这会有所帮助。

于 2011-06-24T10:15:51.903 回答
0

你看过jQuery Mobile吗?这可以解决移动应用程序中许多与鼠标相关的问题。

于 2011-06-24T10:23:06.770 回答