我想检测用户何时尝试在我的页面上向上或向下滚动,但由于我不想允许实际滚动,我设置了溢出:隐藏的主体。代码是这样的:
$('html,body').css('overflow','hidden');
$(window).scroll(function(event){
console.log("scroll");
});
问题在于,由于没有实际滚动我无法触发事件,我已经考虑过去除溢出样式并以某种方式阻止滚动但我无法弄清楚如何去做。
无论如何有一种方法可以在检测滚动尝试时修复滚动吗?感谢
答案 0 :(得分:4)
尝试使用jQuery鼠标滚轮https://github.com/brandonaaron/jquery-mousewheel。您可以检测鼠标滚轮的运动。另一个选项是不将溢出设置为隐藏,而是捕获滚动尝试并自己滚动它们。 JS滚动还有一堆库,我喜欢http://manos.malihu.gr/jquery-custom-content-scroller/。
答案 1 :(得分:2)
这是一个jQuery解决方案。
$(document).bind('mousewheel', function(e) {
var delta = e.originalEvent.wheelDelta;
console.log('The mouse delta is : ' + delta);
});