scrollLeft在body上无法在firefox中运行

JCH*_*E11 2 firefox jquery scroll

我使用jQuery鼠标滚轮插件,允许浏览器左右上下滚动感知.代码很简单:

$('body').bind('mousewheel', function(event, delta) {
     this.scrollLeft -= (delta * 5);
});
Run Code Online (Sandbox Code Playgroud)

您可以在水平滚动页面上测试此功能:http://jsfiddle.net/Ema2B/13/

这在chrome中效果很好.向下滚动向右滚动内容窗格.如果你把它带到firefox,它不起作用.我运行了一些测试,firefox确实看到了正确的delta值,但由于某种原因它不理解scrollLeft.我设置了一个简单的测试来验证这个:

$("a.logo").on("click", function(){
      $(body).scrollLeft(300);
});
Run Code Online (Sandbox Code Playgroud)

同样,这在chrome中很有用,但不是firefox.为什么firefox不允许scrollLeft?

注意:溢出:为身体设置隐藏以禁用滚动条.测试chrome和firefox中的小提琴.

JCH*_*E11 8

为了使它在Firefox上运行,除了正文之外,选择器还必须有$("html").请参阅下面的代码:

$("html, body").mousewheel(function(event, delta) {
    this.scrollLeft -= (delta * 30);
});
Run Code Online (Sandbox Code Playgroud)