我正在尝试编写可以在浏览器中运行或作为phonegap应用程序运行的代码。我需要做的一件事是决定我是否在支持触摸事件的环境中。
我目前的问题是,我的Chrome (20.0.01132.47m)返回('ontouchstart' in window)的true,但它没有触发触摸事件。
当我打开开发者工具设置对话框(开发者工具右下角的齿轮图标)时。我得到一个“模拟触摸事件”的选项。当我选中此选项时,浏览器会触发触摸事件。但是当它没有被选中时,它不会触发事件,但我使用的检测仍然表明触摸事件是可用的。
我能从脚本中看出“模拟触摸事件”是否启用了吗?
基于JQuery的答案很好。
发布于 2012-09-12 13:01:10
我能从脚本看出“模拟触摸事件”是否启用了吗?
尝试检查多个手指;-)
也许这对你有帮助?
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),除非你的关闭了开发者工具栏。
Fiddle
发布于 2016-11-02 13:34:02
js的最佳方式:
function is_touch_device() {
return 'ontouchstart' in window || navigator.maxTouchPoints;
}
console.log(is_touch_device())https://stackoverflow.com/questions/11505849
复制相似问题