【发布时间】:2011-06-06 07:39:27
【问题描述】:
假设我有一个网页,它有一些 onmouseover javascript 行为来下拉菜单(或类似的东西)
显然,这不适用于 iPad 或智能手机等触控设备。
如何检测浏览器是否支持 onmouseover 或 onmouseout 等悬停事件以及 CSS 中的 :hover 伪标签?
注意:我知道如果我担心这个我应该写一个不同的方式,但我很好奇是否可以进行检测。
编辑:当我说“支持悬停事件”时,我的真正意思是“浏览器是否具有悬停事件的有意义表示”。如果硬件支持但软件不支持(反之亦然),则没有有意义的表示。除了一些 upcoming tech 之外,我认为没有任何触摸设备能够有意义地表示悬停事件。
【问题讨论】:
-
我认为您的问题需要重新表述,因为 iPad 在理论上确实支持悬停,但输入使其成为不可能。所以你的问题应该是:我如何检测用户是否有可能将鼠标悬停在一个项目上?
-
也许这可以给你一个开始:stackoverflow.com/questions/3974827/…
-
@nightcracker - 从网站(和我)的角度来看,硬件是否能够支持悬停并不重要 - 唯一重要的是是否有有意义的 onmouseover 或onmouseout 钩子。我会在问题中澄清。
-
@amosriviera - 谢谢你,这个问题中有一些有趣的东西。有一个答案可以让我选择 iPad,但没有跨浏览器。
标签: javascript html touch onmouseover browser-detection