javascript - 如何判断客户端是否是触摸设备

标签 javascript jquery touch tablet

是否有任何好的、干净的方法或技巧来确定用户是否使用触摸设备?

我知道有类似的东西 var isiPad = navigator.userAgent.match(/iPad/i) != null;

但我只是想知道是否有一个技巧可以确定用户是否使用触摸设备? 因为除了 iPad 之外,还有更多的触摸设备和平板电脑。

谢谢。

最佳答案

您可以使用以下 JS 函数:

function isTouchDevice() {
   var el = document.createElement('div');
   el.setAttribute('ongesturestart', 'return;'); // or try "ontouchstart"
   return typeof el.ongesturestart === "function";
}

来源:Detecting touch-based browsing .

请注意,上述代码仅测试浏览器是否支持触摸,而不是设备。

相关链接:

jquery for mobile中可能存在检测和 jtouch

关于javascript - 如何判断客户端是否是触摸设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6262584/

相关文章:

javascript - 在 Javascript 中调度大量额外事件的效率如何?

javascript - 试图将 div 定位在移动视口(viewport)的底部,而不是浏览器的底部

javascript - 如何防止从项目外部提交表单

jquery - 我的 animate() 函数不起作用

jquery - 如何在JQuery中使用$.each循环遍历json代码

php - 如何在没有 session 和数据库的情况下从一页保存表单数据并在两页后显示

ipad - jquery-ui 可排序 |如何让它在 iPad/触摸设备上工作?

javascript - 如何从附加到 Puppeteer 页面的 pageerror 监听器捕获错误?

javascript - 导入没有脚本标签的appengine channel js api

javascript - 将 async/await 与 babel 一起使用时 regeneratorRuntime is not defined 错误