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

vsy*_*ync 3 javascript touch browser-feature-detection

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

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

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

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

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

window.screen.width >= 1280 // desktop 
Run Code Online (Sandbox Code Playgroud)

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

vsy*_*ync 5

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

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

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

  • 我不明白你的问题是什么?用例的实现与这个问题无关.它只是检测设备功能. (2认同)