[英]why does mousewheel work in chrome but no in firefox
我目前仅使用鼠标滚轮即可使用CSS上下滚动弹出页面,但无法在FireFox中使用它。 由于某种原因,它目前只能在Chrome中运行,只是使用了overflow-x:hidden;。 并溢出-y:auto;。
我已经尝试使用jQuery Mousewheel插件jquery.mousewheel.min.js来使页面上下滚动,而侧面没有滚动条,但是,我无法使其正常工作。 Firefox是否还需要其他功能才能仅使用鼠标滚轮上下滚动页面? CSS,JavaScript还是jQuery?
HTML
<div class="test">
<div class="inner">blah blah blah
</div>
</div>
CSS
.test{
display:inline-block;
overflow-x:hidden;
overflow-y:auto;
margin:0 auto;
}
.inner{
float:left;
overflow-x:hidden;
overflow-y:auto;
}
如果您正在谈论使用纯JavaScript处理鼠标滚轮事件,我相信Firefox可以使用一个不同的名称: DOMMouseScroll
因此要通用捕获它,您可以执行以下操作:
if (document.addEventListener) {
document.addEventListener("mousewheel", MouseWheelHandler, false);
document.addEventListener("DOMMouseScroll", MouseWheelHandler, false);
}
else {
document.attachEvent("onmousewheel", MouseWheelHandler);
}
function MouseWheelHandler(e) {
var e = window.event || e;
var delta = e.wheelDelta
if (delta < 0) {
// Do stuff when wheel is scrolled down
} else {
// Do stuff when wheel is scrolled up
}
}
您提到您尝试使用jQuery mousewheel插件,但您的帖子中未提供任何JavaScript。 您是否正在尝试以编程方式(使用DOM事件监听器)滚动元素? 如果是这样,请注意Chrome仅在最近才添加了对标准'wheel'事件的支持( https://code.google.com/p/chromium/issues/detail?id=227454 ),因此您可能不得不使用非标准的'mousewheel' '事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.