我想在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,您要查找的称为deltaX
,deltaY
和deltaZ
。
没有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/