首页 >web前端 >js教程 >如何使用 JavaScript 可靠地检测触摸屏设备?

如何使用 JavaScript 可靠地检测触摸屏设备?

Barbara Streisand
Barbara Streisand原创
2024-12-10 00:28:10640浏览

How Can I Reliably Detect Touchscreen Devices Using JavaScript?

使用 JavaScript 检测触摸屏设备:一种优化方法

为了跨平台兼容性,开发人员经常面临区分触摸屏设备的挑战使用 JavaScript 的支持和非触摸设备。这对于根据设备输入法定制用户体验至关重要。

最初,有人建议 JavaScript 可以依靠 Modernizr 的“touchevents”测试来确定触摸屏功能。但是,由于该测试已从 Modernizr 中删除,因此该方法不再适用。

更新的检测方法

自 2021 年起,一种可靠且全面的触摸检测方法- 启用的浏览器将检查以下属性:

function isTouchDevice() {
  return (('ontouchstart' in window) ||
     (navigator.maxTouchPoints > 0) ||
     (navigator.msMaxTouchPoints > 0));
}
  • 'ontouchstart'在窗口中检查是否存在 touchstart 事件侦听器,大多数支持触摸的浏览器都支持该侦听器。
  • navigator.maxTouchPoints > 0 验证浏览器是否支持多点触控手势。
  • navigator.msMaxTouchPoints > 0 检查 Microsoft Edge 浏览器中的相同功能。

高级案例的进一步阅读

对于更复杂的触摸检测场景,请考虑以下资源:

  • [您无法检测到触摸屏 by Stu Cox](https://www.stuartelliscox.com/blog/you-cant-detect-a-touchscreen/)
  • [检测触摸:这是 Remy Sharp 的“为什么”,而不是“如何” ](https://remysharp.com/2013/04/01/detecting-touch/)
  • [Patrick 的敏感演示H.劳克](https://www.patrickhlauke.com/getting-touchy-with-javascript)

以上是如何使用 JavaScript 可靠地检测触摸屏设备?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn