javascript检测桌面触摸和鼠标支持

时间:2014-02-19 17:28:20

标签: javascript touch browser-feature-detection

启用触控的设备如何区分纯触控和具有鼠标的设备? (就像今天的笔记本电脑一样)

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

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

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

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

window.screen.width >= 1280 // desktop 

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

1 个答案:

答案 0 :(得分:5)

经过一些研究,我发现最好的解决方案是使用这段代码:

<强> https://github.com/matthewhudson/device.js

因此,它的工作方式是通过给出表示设备和方向的body元素类名称,并且我可以猜测用户是否有鼠标。 (类desktop已应用)