为了防止鼠标滚轮在到达带有自己滚动条的元素的顶部/底部时滚动整个页面,我正在使用 Brandon Aaron 的Mousewheel plugin。
只要我不滚动太快,这很好。似乎当滚动非常快时,两个事件将通过“我还没有到达顶部/底部”检查并且都将被执行。但是,其中一个会将元素滚动到顶部/底部,然后下一个将滚动整个页面,这是我试图阻止的。
我目前正在这样做
$('.popupContents').bind('mousewheel', function (e, d) {
var t = $(this);
if (d > 0 && t.scrollTop() === 0) {
e.preventDefault();
} else if (d < 0 && (t.scrollTop() == t.get(0).scrollHeight - t.innerHeight())) {
e.preventDefault();
}
});
(如防止滚动父元素?)
即使用户快速滚动,如何使该功能正确停止顶部/底部的所有事件?