6

我想检测用户何时尝试在我的页面上向上或向下滚动,但由于我不想允许实际滚动,所以我设置了一个溢出:隐藏的正文。代码是这样的:

$('html,body').css('overflow','hidden');
$(window).scroll(function(event){
    console.log("scroll");
});

问题是,由于没有实际的滚动,我无法触发事件,我考虑过删除溢出样式并以某种方式防止滚动,但我不知道该怎么做。

无论如何,有没有办法在检测滚动尝试时修复滚动?谢谢

4

2 回答 2

4

尝试使用 jQuery 鼠标滚轮https://github.com/brandonaaron/jquery-mousewheel。您可以检测鼠标滚轮的移动。另一个选项是不将溢出设置为隐藏,而是捕获滚动尝试并自己滚动它们。还有一堆JS滚动的库,我喜欢http://manos.malihu.gr/jquery-custom-content-scroller/

于 2013-09-11T17:55:23.573 回答
2

这是一个jQuery解决方案。

$(document).bind('mousewheel', function(e) {
    var delta = e.originalEvent.wheelDelta;
    console.log('The mouse delta is : ' + delta);
});

jQuery 文档 - .bind()

于 2016-02-05T00:40:16.173 回答