我在具有触摸功能的
Windows 7桌面上使用了一个简单的测试.
为了简单起见,它是这样的:
为了简单起见,它是这样的:
temp_div.addEventListener('touchstart',function(e){ /*confirm */ },false) temp_div.addEventListener('pointerdown',false) temp_div.addEventListener('mousedown',false)
在chrome中,“touchstart”被确认.
在IE中,“指针”被确认.
在Firefox中,“mousedown”得到证实.
在故障排除之后,我最终不得不在Firefox和
将“dom.w3c_touch_events.enabled”值从0更改为1.这导致在Firefox中确认“touchstart”.
我的问题是这些:
触摸式机器上是否应该启用此功能?
IE和Chrome配置正确,Firefox没有配置. (这是Firefox 31的全新下载).
有没有在这样的情况下远程启用触摸事件,以便Firefox的行为与其他浏览器类似?
谢谢
解决方法
为了在桌面版Firefox中启用触摸事件,在浏览器的地址栏中输入“about:config”,点击“我会小心,我保证!”按钮并向下滚动,直到找到“dom.w3c_touch_events.enabled”….当您单击此项目时,将出现一个对话框,允许您更改设置的值.
disable =(0)enable =(1)auto-detect =(2)
这应该默认设置为“自动检测”,但是目前,由于某些bug,桌面版本的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,Gecko 18.0引入的触摸事件支持已在桌面版Firefox上停用,因为Google和Twitter等热门网站无法正常工作.一旦修复错误,API将再次启用.包含Firefox和Firefox操作系统的移动版本不受此更改的影响.此外,在Windows 8的Metro风格版本的Firefox上启用了API.