鼠标滚轮事件在firefox中没有触发,我正在使用jquery.mousewheel插件,但即使没有它,它在除Firefox之外的所有浏览器中都能正常工作。 这是我的代码:
$('body').on('mousewheel', function(e){
console.log(123);
//some code...
});
有什么建议吗?非常感谢所有答案...
答案 0 :(得分:0)
jquery.mousewheel未正确加载。
您可以通过访问您的网站,打开开发者控制台并输入
来验证这一点
$.fn.mousewheel
或$.fn.unmousewheel
并点击 CTRL + 输入。
两者都返回undefined
。
如果您将mousewheel
依赖项作为匿名模块的参数捕获,这可能会有效,但如果我完全诚实,每次我必须处理jQuery插件和requireJS时,我只是给出关于范围模块,让jQuery在全局范围内做这件事(这就是为什么我现在越来越少地使用jQuery)。
至于为什么它在其他浏览器中工作,我相信Webkit是唯一增加了对mousewheel
的支持的引擎。因为没有加载jquery.mousewheel插件,所以其他浏览器都会推迟到它们的原生实现。
答案 1 :(得分:0)
在较旧的FF版本中,您可以使用纯JavaScript和DOMMouseScroll
绑定mousewheel-event:
document.body.addEventListener("DOMMouseScroll", function(){ console.log(123); }, false);
请注意,DOMMouseScroll
事件已被弃用。在较新的版本中,请改用wheel
-event:
document.body.addEventListener("wheel", function(){ console.log(123); }, false);