首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(窗口中的‘ontouchstart’)返回true,但没有触摸事件

(窗口中的‘ontouchstart’)返回true,但没有触摸事件
EN

Stack Overflow用户
提问于 2012-07-16 21:55:05
回答 2查看 11.7K关注 0票数 2

我正在尝试编写可以在浏览器中运行或作为phonegap应用程序运行的代码。我需要做的一件事是决定我是否在支持触摸事件的环境中。

我目前的问题是,我的Chrome (20.0.01132.47m)返回('ontouchstart' in window)true,但它没有触发触摸事件。

当我打开开发者工具设置对话框(开发者工具右下角的齿轮图标)时。我得到一个“模拟触摸事件”的选项。当我选中此选项时,浏览器会触发触摸事件。但是当它没有被选中时,它不会触发事件,但我使用的检测仍然表明触摸事件是可用的。

我能从脚本中看出“模拟触摸事件”是否启用了吗?

基于JQuery的答案很好。

EN

回答 2

Stack Overflow用户

发布于 2012-09-12 13:01:10

我能从脚本看出“模拟触摸事件”是否启用了吗?

尝试检查多个手指;-)

也许这对你有帮助?

代码语言:javascript
复制
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

票数 1
EN

Stack Overflow用户

发布于 2016-11-02 13:34:02

js的最佳方式:

代码语言:javascript
复制
function is_touch_device() {
    return 'ontouchstart' in window || navigator.maxTouchPoints;
}
console.log(is_touch_device())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11505849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档