javascript - 检测悬停是否存在或可用

标签 javascript jquery css

长期以来,每个人都在插入特征检测。我想检测访问者的浏览器是否支持 :hover 伪类。据我了解,即使不是大多数,也有足够多的移动设备不支持悬停,因此我想相应地调整我的事件监听器。但是如果没有移动检测,我不确定如何完成此操作,而且到目前为止我还没有通过 Google 或 SO 找到任何东西。

也许类似于问题 #8981463

$(function() {
  var canHover = $(document).is(":hover");
});

我要到下周才能在移动设备上对此进行测试。

想法?

最佳答案

现在有一个支持良好的媒体查询来检测是否支持悬停: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/hover

您可以将其与 Window.matchMedia 一起使用: https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia

然后你会使用:

if (window.matchMedia( "(hover: none)" ).matches) {
   // hover unavailable
}

关于javascript - 检测悬停是否存在或可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23557354/

相关文章:

html - flexbox 和 bootstrap3 列的溢出布局导致页面宽度增加

css, float :left, 将文本保留在自己的列中

html - 悬停在其他元素上时停止元素的 move

javascript - 在 Angular js 中使用 Tooltipster Jquery 插件

javascript - 如何在 Bootstrap 模式对话框中嵌入外部 pdf?

javascript - Jquery Mobile 对话框关闭无法正常工作

javascript - 在 div 替换 jquery 中插入值

javascript - 带有所有 H 标签的 Javascript 中的 CSS 选择器

不使用数学的 javascript 程序。 pow,使用 for 循环求任意数的幂

javascript - 更改路由后,第 3 方 javascript 未绑定(bind)到组件