首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检测设备是否有触摸屏?

如何检测设备是否有触摸屏?
EN

Stack Overflow用户
提问于 2012-08-14 09:38:13
回答 2查看 507关注 0票数 0

我的目标是有钛的机器人。如何判断设备是否有触摸屏?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-15 00:14:12

这就是我想出的解决方案。这真的很愚蠢,但它是有效的。在创建应用程序窗口的任何地方,添加以下代码:

代码语言:javascript
运行
复制
function touchStart(){
    Titanium.App.Properties.setBool("touch", true);

    self.removeEventListener("touchstart", touchStart);
}

self.addEventListener("touchstart", touchStart);

self替换为窗口的名称。现在,第一次检测到触摸事件时,将设置应用程序属性。

稍后,使用以下命令检查是否存在触摸:

代码语言:javascript
运行
复制
var touchSupported = Titanium.App.Properties.getBool("touch", false);

如果你是在模拟器上测试它,这个属性可能会在你改变“设备”的时候仍然存在。因此,在其他内容之前添加下面这一行:

代码语言:javascript
运行
复制
Titanium.App.Properties.setBool("touch", false);
票数 0
EN

Stack Overflow用户

发布于 2012-08-14 12:14:00

最简单的方法是测试对触摸事件的支持。如果它们被支持,设备很可能有触摸屏。如果不是,它可能不会,或者你无论如何都不能使用它们。一种解决方案是:

代码语言:javascript
运行
复制
var touchSupported = ('ontouchstart' in window);

但要小心,因为浏览器可能支持触摸事件,但设备可能不支持(例如,Chrome20在没有触摸的设备中支持许多触摸事件)。

你也许能够让用户点击一个按钮,看看是一个触摸事件被调度,还是仅仅是一个点击。

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

https://stackoverflow.com/questions/11944641

复制
相关文章

相似问题

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