javascript - 如何检测浏览器是否支持鼠标悬停事件?

标签 javascript html touch onmouseover browser-detection

假设我有一个网页,它有一些 onmouseover javascript 行为来下拉菜单(或类似的东西)

显然,这不适用于 iPad 或智能手机等触摸设备。

如何检测浏览器是否支持 onmouseover 或 onmouseout 等悬停事件以及 CSS 中的 :hover 伪标记?

注意:我知道如果我担心这个我应该用不同的方式写它,但我很好奇是否可以进行检测。

编辑:当我说“支持悬停事件”时,我的意思是“浏览器是否具有悬停事件的有意义表示”。如果硬件支持但软件不支持(反之亦然),则表示没有任何意义。除了一些 upcoming tech ,我认为任何触摸设备都不会有意义地表示悬停事件。

最佳答案

此方法捕获更多设备/浏览器

try {
   document.createEvent("TouchEvent");
   alert(true);
}
catch (e) {
   alert(false);
}

Read more

关于javascript - 如何检测浏览器是否支持鼠标悬停事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4643443/

相关文章:

javascript - 如何通过将鼠标悬停在同一页面上的图像上来触发 css 动画按钮

javascript - 如何获取包含特定文本的输入标签的数量?

javascript - Body.onLoad 似乎执行得太早

jquery - 如何在轮播中启用触摸滑动功能?

java - LibGDX 在触摸持续时间内重复同样的事情?

javascript - React 随时重新渲染任何内容

javascript - Twitter、JavaScript 和 OAuth : failed to validate oauth signature and token

html - Sublime Text 的缩进错误

javascript - Image SRC 没有改变什么?

javascript - 将叠加层滑出屏幕