Stu Cox 解释说,有很多方法你可能认为可以获得一个关于浏览器是否支持触摸的“是或否”答案
- 宽度媒体查询
- 与触摸相关的 DOM 事件
- 与触摸相关的 API
- 指针媒体查询
围绕此问题的常见说法是“有些设备**同时**具备两种功能,因此在这种情况下你的判断会出错。”,这是正确的,但实际上问题比这更复杂。这些测试方法通常完全错误。
所以
对于布局,假设每个人都拥有触摸屏。鼠标用户比触摸用户更容易使用大型 UI 控件,而触摸用户更容易使用小型控件。悬停状态也是如此。
对于事件和交互,假设任何人都可能拥有触摸屏。并行实现键盘、鼠标和触摸交互,确保它们互不干扰。