【问题标题】:javascript detect desktop touch and mouse supportjavascript检测桌面触摸和鼠标支持
【发布时间】:2016-02-01 22:58:32
【问题描述】:

应如何区分支持触控的设备与纯触控设备和同时配备鼠标的设备? (就像今天的一些笔记本电脑)

需要在应用程序中优先考虑所有鼠标功能,如果运行应用程序的设备仅支持触控,则需要更改功能。

如果触摸设备也有鼠标指针,则逻辑建议应用程序应将该设备视为普通桌面,并可能添加触摸支持,但样式本身应响应鼠标事件。

正常的触摸检测是这样实现的: 'ontouchend' in document;

检测计算机是否为台式机的一种方法可能是检查屏幕分辨率:

window.screen.width >= 1280 // desktop 

但这不是很好,因为某些设备可能具有非常大的视口分辨率,而某些笔记本电脑可能具有低分辨率...

【问题讨论】:

标签: javascript touch browser-feature-detection


【解决方案1】:

经过一番研究,我发现最好的解决方案是使用以下代码:

https://github.com/matthewhudson/device.js

所以,它的工作方式是给 body 元素类名,代表设备和方向,这样我几乎可以猜出用户是否有鼠标。 (应用类desktop

【讨论】:

  • 触摸屏桌面,笔记本电脑显示器怎么样
  • 他们呢?试试看
  • 假设您检测到鼠标并增强了鼠标的 ui,但用户正在使用监视器进行导航,并希望它像在平板电脑上一样工作。
  • 是的,可以说我希望垂直导航菜单移动到鼠标的对面,就像在 mac 中一样,以帮助用户达到他们的目标。但如果用户使用触摸,那么我只想让他们上下拖动菜单。现在我看到了一个新功能,它不是触摸、单击或拖动。是悬停。在某些三星手机中。这类似于移动鼠标...让我们暂时忽略它
  • 我不明白你的问题是什么?用例的实现与这个问题无关。它仅用于检测设备功能。
猜你喜欢
  • 1970-01-01
  • 2012-05-31
  • 1970-01-01
  • 1970-01-01
  • 2012-09-02
  • 1970-01-01
  • 1970-01-01
  • 2012-10-06
  • 1970-01-01
相关资源
最近更新 更多