【问题标题】:Cant get wheel scroll delta on Firefox无法在 Firefox 上获得滚轮滚动增量
【发布时间】:2017-10-20 06:23:31
【问题描述】:

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

我使用 javascript 事件监听器来捕捉鼠标滚轮事件。它可以工作,但在 Firefox 上返回不正确的增量,在 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);
            });

【问题讨论】:

    标签: javascript firefox


    【解决方案1】:

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

    没有 wheelDelta 属性,它属于早期的 chrome 草案,名为 MouseWheelEvent,但从未达到规范。

    document.onwheel = e =&gt; pre.textContent = e.deltaY;
    body{
      height: 600vh;
      }
    pre{
      position: fixed;
      }
    &lt;pre id="pre"&gt;&lt;/pre&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-13
      • 2016-05-15
      • 2016-05-07
      • 1970-01-01
      • 2019-01-22
      相关资源
      最近更新 更多