鼠标滚轮事件在Firefox中不起作用

时间:2014-04-06 20:09:49

标签: jquery javascript-events mousewheel

鼠标滚轮事件在firefox中没有触发,我正在使用jquery.mousewheel插件,但即使没有它,它在除Firefox之外的所有浏览器中都能正常工作。 这是我的代码:

    $('body').on('mousewheel', function(e){
            console.log(123);
            //some code...
   });   

Live example here

有什么建议吗?非常感谢所有答案...

2 个答案:

答案 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);