你无法检测触摸屏

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

Stu Cox 解释说,有很多方法你可能认为可以获得一个关于浏览器是否支持触摸的“是或否”答案

  • 宽度媒体查询
  • 与触摸相关的 DOM 事件
  • 与触摸相关的 API
  • 指针媒体查询

围绕此问题的常见说法是“有些设备**同时**具备两种功能,因此在这种情况下你的判断会出错。”,这是正确的,但实际上问题比这更复杂。这些测试方法通常完全错误

所以

对于布局,假设每个人都拥有触摸屏。鼠标用户比触摸用户更容易使用大型 UI 控件,而触摸用户更容易使用小型控件。悬停状态也是如此。

对于事件和交互,假设任何人都可能拥有触摸屏。并行实现键盘、鼠标和触摸交互,确保它们互不干扰。

直接链接 →