【发布时间】:2014-03-31 22:21:37
【问题描述】:
我写了一段代码来获取基于触摸和非触摸的事件。它适用于所有其他浏览器和设备,但 Firefox 除外。默认FF返回true。
var thumbsEvent, isTouch = Modernizr.touch; // detect the touch
if(isTouch){
thumbsEvent = 'click';//on touch surface, click
}
else {
thumbsEvent = 'mouseover';//on non touch surface, mouseover
}
有没有办法解决这个问题。
【问题讨论】:
-
有趣。从这里返回 false。 FF 27 和赢 7。
-
@Bob 谢谢,你对 FF 进行了任何配置更改吗?
-
不。我确实发现了这一点,但您可能会感兴趣:github.com/Modernizr/Modernizr/pull/920#issuecomment-17433197
-
当前版本的 FF 对我来说是错误的
-
这里的模式假设“无触摸”==“有鼠标”,这并不总是正确的。键盘无法触发
mouseover事件,因此只有键盘的用户将无法执行交互(例如打开菜单)。通常建议总是绑定click事件,无论检测结果如何,因为这是所有输入法都可以以一种或另一种方式触发的“通用”事件。见“The Golden Pattern” 和“Touch And Mouse”。
标签: javascript firefox modernizr touch-event