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

Wil*_*ith 10 javascript firefox touch windows-7

我在具有触摸功能的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)
Run Code Online (Sandbox Code Playgroud)

在chrome中,'touchstart'得到了确认.在IE中,确认了'指针'.在Firefox中,'mousedown'得到了确认.

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

我的问题是这些:

难道这不应该在具有触控功能的机器上启用吗?IE和Chrome配置正确,Firefox则没有.(这是Firefox 31的全新下载).

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

谢谢

Wil*_*ith 14

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

disable =(0)enable =(1)auto-detect =(2)

默认情况下应将其设置为"自动检测",但目前,由于某些问题,Firefox的桌面版本设置为"禁用".

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

摘抄:

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

注:由于壁虎24.0,触摸事件的支持与壁虎18.0介绍已被禁用在Firefox的桌面版本,一些热门网站,包括谷歌和Twitter都不能正常工作.修复错误后,将再次启用API.
包括Firefox for Android和Firefox OS在内的移动版本不受此更改的影响.此外,已在Metro版型的Firefox for Windows 8上启用了API.