我想在所有移动设备中禁用垂直滚动,我发现了这个:
document.body.addEventListener('touchmove', function(e){ e.preventDefault(); });
效果很好......
但是通过这种方式我也禁用了滚动(对于有overflow: auto
的div(我的菜单)。
在dekstop浏览器中,当$(window).scroll()
将overflow: hidden
添加到body
时,避免使用 JQuery 。并且以这种方式我没有问题,但使用本机JavaScript代码是...我是javascript的新手。
因此,使用jquery,我可以使用overflow:auto禁用正文eccept div的滚动,但不能使用该js代码。
我希望你能帮助我,对不起我的英语。
答案 0 :(得分:6)
我总是用jQuery解决:
当我想要禁用滚动添加:
$("body").css({"overflow":"hidden",'position':'fixed'});
body: fixed
我确信无法使用移动设备滚动页面(除了具有overflow: auto
的div
答案 1 :(得分:0)
你可以通过使它成为屏幕的大小来禁用身体部位的scrool,然后使其不滚动
document.body.addEventListener('touchmove', function(e){
document.getElementsByTagName('body')[0]. style .height = "100vh";
document.getElementsByTagName('body')[0]. style. overflow = "hidden";
});