无法在Firefox上获得滚轮滚动增量

时间:2017-10-20 06:23:31

标签: javascript firefox

我想在Firefox浏览器上获得鼠标滚轮增量。

我使用javascript事件监听器来捕捉鼠标滚轮事件。它有效,但在Firefox上返回不正确的delta,在Chrome上返回,工作正常,

 element.on("DOMMouseScroll onwheel mousewheel onmousewheel wheel", function (e) {

                e = e || window.event;

                var delta = e.originalEvent.wheelDelta || e.originalEvent.detail;

                var delta2 = e.wheelDelta ? e.wheelDelta : -e.detail;

                console.log("delta", delta, delta2);
                //delta 0 NaN    <-- firefox
                //delta -120 NaN <-- chrome correct

                if (!doScroll(delta)) {
                    return;
                }

                var top = parseInt(element.css('top').replace('px', ''));
                element.css('top', top + delta);

                onScroll(delta);
            });

1 个答案:

答案 0 :(得分:2)

对于WheelEvent,您要查找的内容称为deltaXdeltaYdeltaZ

没有wheelDelta属性,属于一个名为MouseWheelEvent的早期草案,但它从未进入规范。

&#13;
&#13;
document.onwheel = e => pre.textContent = e.deltaY;
&#13;
body{
  height: 600vh;
  }
pre{
  position: fixed;
  }
&#13;
<pre id="pre"></pre>
&#13;
&#13;
&#13;