我正在尝试编写将在浏览器中运行或作为phonegap应用程序运行的代码。 我需要做的一件事就是决定我是否处于支持触摸事件的环境中。
我当前的问题是我的chrome(20.0.01132.47米)为true
返回('ontouchstart' in window)
但它不会触发触摸事件。
当我打开开发人员工具设置对话框(开发人员工具右下角的齿轮图标)时。我可以选择“模拟触摸事件”。当我选中此选项时,浏览器会触发触摸事件。但是当它没有被检查时它不会触发事件,但我使用的检测仍然说触摸事件是可用的。
我是否可以通过脚本判断是否启用了“模拟触摸事件”?
基于JQuery的答案很好。
答案 0 :(得分:1)
我是否可以通过脚本判断是否启用了“模拟触摸事件”?
尝试检查多个手指; - )
也许这有帮助?
window.addEventListener('touchstart', function(event) {
var emulate = event.targetTouches.length == 2;
alert(emulate ? true : false);
}, false);
顺便说一句:
除非您关闭开发人员工具栏,否则'ontouchstart' in window
会生成false
(chrome v21.0.1180.60)。
答案 1 :(得分:0)
js的最佳方式:
function is_touch_device() {
return 'ontouchstart' in window || navigator.maxTouchPoints;
}
console.log(is_touch_device())