我的目标是有钛的机器人。如何判断设备是否有触摸屏?
发布于 2012-08-15 00:14:12
这就是我想出的解决方案。这真的很愚蠢,但它是有效的。在创建应用程序窗口的任何地方,添加以下代码:
function touchStart(){
Titanium.App.Properties.setBool("touch", true);
self.removeEventListener("touchstart", touchStart);
}
self.addEventListener("touchstart", touchStart);将self替换为窗口的名称。现在,第一次检测到触摸事件时,将设置应用程序属性。
稍后,使用以下命令检查是否存在触摸:
var touchSupported = Titanium.App.Properties.getBool("touch", false);如果你是在模拟器上测试它,这个属性可能会在你改变“设备”的时候仍然存在。因此,在其他内容之前添加下面这一行:
Titanium.App.Properties.setBool("touch", false);发布于 2012-08-14 12:14:00
最简单的方法是测试对触摸事件的支持。如果它们被支持,设备很可能有触摸屏。如果不是,它可能不会,或者你无论如何都不能使用它们。一种解决方案是:
var touchSupported = ('ontouchstart' in window);但要小心,因为浏览器可能支持触摸事件,但设备可能不支持(例如,Chrome20在没有触摸的设备中支持许多触摸事件)。
你也许能够让用户点击一个按钮,看看是一个触摸事件被调度,还是仅仅是一个点击。
https://stackoverflow.com/questions/11944641
复制相似问题