如何检测设备是否具有钛金属触摸屏
How can I detect if a device has a touch screen in Titanium?
我的目标是使用Titanium的Android。如何判断设备是否有触摸屏?
最简单的方法是测试触摸事件支持。如果支持它们,则设备可能具有触摸屏。如果没有,它可能没有,或者您无论如何都无法使用它们。一种解决方案是:
var touchSupported = ('ontouchstart' in window);
但要小心,因为浏览器可能支持触摸事件,但设备可能不支持(例如,Chrome 20 支持没有触摸的设备中的大量触摸事件)。
您可以让用户单击按钮,并查看是调度了触摸事件还是仅单击。
这就是我想出的解决方案。这真的很愚蠢,但它有效。无论在何处创建应用程序窗口,请添加以下代码:
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);
相关文章:
- Jquery在触摸屏上添加类和数据
- 提供“;onClick"适用于iPad(触摸屏)和桌面用户的默认功能
- 将桌面上的悬停导航栏转换为触摸屏上的可点击导航栏
- 如何在asp.net mvc 3上进行触摸屏操作
- 需要使用触摸屏从 AngularJS 指令中更新模型
- 如何检测设备是否具有钛金属触摸屏
- 在触摸屏上拖放
- '触摸屏'如果在touchstart上移除被触摸的子元素,则不激发父元素的事件
- Jquery菜单无法在触摸屏设备上打开
- 触发点击事件点击事件,触摸屏
- JQuery可调整大小的触摸屏
- createTouch vs ontouchstart-检测触摸屏设备的最佳方式
- 如何允许在谷歌chrome中通过触摸屏放大和缩小iframe
- 金属特性在三.JS中有什么作用
- 是否有任何JS触摸屏控制器库
- 如何构建适用于触摸屏的Web应用程序
- jQuery 在触摸屏中单击并滑动
- 在触摸屏上实现<缩写>型功能的最干净方法
- 网页如何确定用户是否有鼠标或触摸屏输入
- 如何使用 JavaScript 区分用户触摸的触摸板、触摸屏或鼠标