首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何确定客户端是否为触摸设备

如何确定客户端是否为触摸设备
EN

Stack Overflow用户
提问于 2011-06-07 16:33:27
回答 6查看 48.5K关注 0票数 30

有没有什么好的、干净的方法或技巧来发现用户是否在使用触摸屏设备?

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

但我只是想知道是否有一个技巧来确定用户是否在使用Touch设备?因为市场上的触控设备和平板电脑比iPads多得多。

谢谢。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-06-07 16:41:22

您可以使用以下JS函数:

代码语言:javascript
运行
复制
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 mobilejtouch中可能存在检测

票数 28
EN

Stack Overflow用户

发布于 2011-06-07 16:46:40

包括modernizer,它是一个小型特征检测库。然后你可以使用下面这样的东西。

代码语言:javascript
运行
复制
if (Modernizr.touch){
   // bind to touchstart, touchmove, etc and watch `event.streamId`
} else {
   // bind to normal click, mousemove, etc
}
票数 14
EN

Stack Overflow用户

发布于 2013-04-17 18:44:48

代码语言:javascript
运行
复制
if ("ontouchstart" in document.documentElement)
{
  alert("It's a touch screen device.");
}
else
{
 alert("Others devices");
}

我在到处浏览后发现的大多数简单代码

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6262584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档