检测黑莓手机上的触摸
Detecting touch on Blackberry phones
我正在开发一款网络应用程序,该应用程序将部署在各种设备上,从台式机到安卓手机,再到黑莓手机。必须支持这种不同的设备,存在两种不同的界面:触摸和非触摸。
问题是,没有触摸支持的黑莓设备,如黑莓9300,错误地显示为支持触摸事件。即
'ontouchstart' in window;
返回CCD_ 1。
到目前为止,我只是依赖浏览器嗅探,尽管它很糟糕:
if (window.navigator.userAgent.match(/BlackBerry/i)) {
doStuff();
}
但现在我必须支持黑莓火炬,是触摸,所以后者将不再工作。当然,我可以尝试一个更精确的正则表达式来进行浏览器嗅探,但我觉得我正在走向灭亡。
有没有一种更可靠的方法来检测对触摸事件的支持,这种方法也适用于黑莓设备?
我不知道有任何内置属性可以检测触摸支持,但您可以使用设备名称来区分这两种情况:
public boolean hasTouchScreen()
{
if (DeviceInfo.getDeviceName().startsWith("95")){
return true;
}
else if (DeviceInfo.getDeviceName().startsWith("93")){
return false;
}...//other devices
...
else{
return false;
}
}
这是一种相当不文明的做法,但它仍然有效。
相关文章:
- 触摸移动时切换到新元素
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 从手机中选择多个图像'使用phonegap的多媒体资料
- ng消息仅在触摸时显示错误,并在错误的初始显示上转换
- 如何使用手机浏览器上的按钮拨打USSD代码
- iOS 中的按钮触摸状态
- 如何在jquery中找到鼠标滚轮/触摸移动事件的走向
- 如何使用纯javascript的移动触摸事件
- 是否可以在系统/电脑浏览器中访问手机摄像头
- 如何使用javascript检测触摸设备浏览器与桌面
- Jquerymobile手机.变更页转换:someVariable
- 手机摄像头没有'不起作用
- 触摸启动事件未在iframe iOS 6中启动
- 拖动滚动触摸设备,如手机/ iPad
- 手机间隙 3.0 + 煎茶触摸打开 URL 在设备浏览器中
- 照片滑动手机/触摸未捕获的类型错误
- 手机触摸事件
- 检测黑莓手机上的触摸
- html5是否支持手机上的触摸
- 图像裁剪工具的触摸为基础的手机使用javascript