overflow-x和鼠标中键移动

时间:2010-03-27 22:34:47

标签: javascript css design-patterns

我的页面宽度为980像素,但我有一些设计元素(属于背景)。我把他们定位在一个位置:绝对; 这为a =<的人创建了一个水平滚动条。 1024分辨率。我禁用了overflow-x:hidden(和IE7等)的滚动条。

然而,当我按住鼠标中键时,(我认为这也适用于笔记本电脑触控板)它让我向右移动,是否可以用任何东西来解决这个问题? (javascript,css)?

在Chrome,IE,Firefox中测试过这个问题。

2 个答案:

答案 0 :(得分:2)

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

不幸的是,你可能会更容易重构你的设计,以避免使用overflow-x:hidden而不是试图阻止人们强迫内容区域滚动的所有不同方式。

答案 1 :(得分:0)

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

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

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