javascript - 如何确保在 Firefox 桌面浏览器中启用触摸事件?

标签 javascript firefox windows-7 touch

我在具有触摸功能的 Windows 7 桌面上进行了简单测试。 为简单起见,它是这样的:

temp_div.addEventListener('touchstart', function(e){ /*confirm */ }, false)
temp_div.addEventListener('pointerdown', function(e){ /*confirm */ }, false)
temp_div.addEventListener('mousedown', function(e){ /*confirm */ }, false)

在 chrome 中,'touchstart' 被确认。 在 IE 中,'pointerdown' 被确认。 在 Firefox 中,'mousedown' 被确认。

故障排除后,我最终不得不在 Firefox 中转到“about:config”并 将“dom.w3c_touch_events.enabled”的值从 0 更改为 1。这会导致在 Firefox 中确认“touchstart”。

我的问题是:

这不应该已经在具有触摸功能的机器上启用了吗? IE 和 Chrome 配置正确,Firefox 不正确。 (这是 Firefox 31 的全新下载)。

无论如何,在这种情况下是否可以远程启用触摸事件,以便 Firefox 的行为与其他浏览器类似?

谢谢

最佳答案

为了在桌面版 Firefox 中启用触摸事件,在浏览器的地址栏中输入“about:config”,点击“我会小心,我保证!”按钮并向下滚动直到找到“dom.w3c_touch_events.enabled”....当您单击此项目时,将出现一个对话框,允许您更改设置的值。

禁用=(0) 启用=(1) 自动检测=(2)

这应该默认设置为“自动检测”,但目前,由于一些错误,桌面版 Firefox 被设置为“禁用”。

有关此设置的信息可在此处找到: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Touch_events

节选:

dom.w3c_touch_events.enabled 三态首选项可用于禁用 (0)、启用 (1) 和自动检测 (2) 对标准触摸事件的支持;默认情况下,它们处于自动检测状态 (2)。更改首选项后,必须重新启动浏览器才能使更改生效。

注意:从 Gecko 24.0 开始,桌面版 Firefox 禁用了 Gecko 18.0 引入的触摸事件支持,因为包括 Google 和 Twitter 在内的一些热门网站无法正常运行。错误修复后,API 将再次启用。
包括 Firefox for Android 和 Firefox OS 在内的移动版本不受此更改的影响。此外,该 API 已在适用于 Windows 8 的 Metro 风格版本的 Firefox 上启用。

关于javascript - 如何确保在 Firefox 桌面浏览器中启用触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25024197/

相关文章:

c++ - Internet Explorer 工具栏上组合框的 Windows 7 样式,怎么样?

javascript - 谷歌地图指向正确的位置,但不显示位置名称

c# - 发布后的应用程序在几分钟后停止更新更新面板

javascript - Firefox 闪烁错误

windows-7 - 当我的笔记本电脑在 Windows 7 中进入休眠状态时关闭正在运行的应用程序(合上盖子或按下 sleep 按钮)

windows-7 - Windows 7 上的 IE10 并排 IE8

javascript - 如何使用 ag-grid 内置列过滤来过滤组合值

javascript - 如何从另一个函数停止 setinterval

html - 如何在 CSS 文件中更改 safari 和 opera 的字体大小而不是 chrome。

firefox - 导出 Firebug Net Tab 请求?