Javascript 溢出-x和鼠标中键移动

Javascript 溢出-x和鼠标中键移动,javascript,css,design-patterns,Javascript,Css,Design Patterns,我的页面宽度是980px,但我有一些设计元素(它们属于背景)。我用position:absolute;对它们进行了定位;。 这将为分辨率=

我的页面宽度是980px,但我有一些设计元素(它们属于背景)。我用position:absolute;对它们进行了定位;。 这将为分辨率=<1024的用户创建一个水平滚动条。我禁用了带有overflow-x:hidden的滚动条(对于IE7等)

但是,当我按住鼠标中键时,(我想这也适用于笔记本电脑触摸板),它让我向右移动,有可能用任何东西来修复这个问题吗?(javascript、css)?


在Chrome、IE、Firefox中测试了这个问题。

事实上,没有。有很多方法可以强制隐藏溢出的内容元素滚动(例如,Mac用户习惯于通过滚动球或触摸板进行全向滚动控制,许多Logitech和Microsoft鼠标都有倾斜的鼠标滚轮)。通过Javascript捕获鼠标中键是非常不可靠的,许多Windows鼠标驱动程序(如Logitech)实际上并不将单击鼠标滚轮注册为“中键单击”,而是直接向应用程序发送“滚动模式”命令

不幸的是,重构设计以避免使用overflow-x:hidden比试图阻止人们强制内容区域滚动的所有不同方式要容易得多。

有一种捕获“onScroll”事件的方法:

不太理想,但对我很有效。在这种情况下,我们只允许水平滚动,垂直滚动仍然有效。要防止它,请使用
scrollTop()
函数

$('#elementWithOverflow').on('scroll',function(){
    $('#elementWithOverflow').scrollLeft(0);
})