javascript - Javascript检测用户是否有鼠标
问题描述
这不是为了设计,我正在制作一个教程,我会要求用户点击或单击事物。
现在我正在使用:
("ontouchstart" in document.documentElement);
但这在带有触摸屏的笔记本电脑上失败了。
解决方案
您可以为此使用CSS 媒体查询。要检测鼠标,您的查询将如下所示:
@media (hover: hover) and (pointer: fine) {
// 'hover' means a device that supports hovering
// 'pointer: fine' means an accurate pointing device, as opposed to limited pointing device like touchscreen (where you would use 'coarse' value
}
请注意,此查询也会检测触摸板,但不会检测智能手机、触摸屏、基于触控笔的屏幕或其他控制器,如 Nintendo Wii、Microsoft Kinect。
要从 JavaScript 运行相同的查询,您可以使用Window.matchMedia()
:
if (matchMedia('(hover: hover) and (pointer: fine)').matches) {
// You code
}
推荐阅读
- python - 解析嵌套字典(allen nlp hierplane_tree)
- javascript - 随机数生成器不能与 parseInt 一起使用?
- python - 模式的正则表达式
- django - 如何使用 Firebase 和 Django Rest 验证 ID 令牌?
- c++ - C++如何用views::split打印单词?
- npm - npm audit --parseable 的列名文档?
- python - 无法找出我的 jinja2/django 模板上的错误
- python-3.x - 如何在表单启动时停用除一个之外的所有小部件或在 PyQt5 中显示?
- python - Django:得到一个意外的关键字参数“empty_label”
- php - 如何遍历文件PHP中的每一行