我想在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);
            });

最佳答案

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

没有wheelDelta属性,该属性属于称为MouseWheelEvent的早期镀铬外观,但从未达到规格。



document.onwheel = e => pre.textContent = e.deltaY;

body{
  height: 600vh;
  }
pre{
  position: fixed;
  }

<pre id="pre"></pre>

关于javascript - 无法在Firefox上获取滚轮滚动增量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46843417/

10-11 04:29