【问题标题】:How to make sure touch events are enabled in Firefox desktop browser?如何确保在 Firefox 桌面浏览器中启用触摸事件?
【发布时间】:2014-07-29 20:17:08
【问题描述】:

我在具有触控功能的 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 的行为类似于其他浏览器?

谢谢

【问题讨论】:

  • 据我所知,“dom.w3c_touch_events.enabled”应该设置为 (2) 的值,即“自动检测”,但不是出于某种原因.
  • 威廉,你应该回答并接受它。它确实帮助我在干净的 Firefox 31 安装中解决了这个问题。

标签: javascript firefox windows-7 touch


【解决方案1】:

为了在桌面版 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 上启用。

【讨论】:

  • 你是说使用 Firefox 默认配置无法检测触摸屏上的触摸事件?
【解决方案2】:

触摸事件目前在 Firefox(版本 48.0.1)中不起作用,但可以通过浏览到 about:config 并将 dom.w3c_pointer_events.enabled 设置为 true 来启用指针事件。如果它是一个触摸事件,传递给您的处理程序的事件对象将包含一个值为“touch”的指针类型属性。

见:https://mobiforge.com/design-development/html5-pointer-events-api-combining-touch-mouse-and-pen

【讨论】:

    【解决方案3】:

    Firefox 72 中有一个dom.w3c_touch_events.legacy_apis.enabled 事件配置选项。默认情况下它是关闭的。打开它可以帮助一些网站进行基于触摸的拖放。尤其是 Atlassian Jira。

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 1970-01-01
      • 2011-08-08
      • 1970-01-01
      • 2012-09-02
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 2020-10-05
      相关资源
      最近更新 更多