天天看點

移動端禁止頁面滑動

今天碰到一個問題,用$(‘html’).css(“overflow”,“hidden”)禁止滾動在移動端竟然無效,不知道什麼原因,是以又試了幾個移動端禁止滑動方法,供參考。

方法一:(經測試有效)

禁止滑動

document.body.addEventListener('touchmove', function (e) {
	e.preventDefault()
}, {passive: false})
           

恢複滑動

document.body.addEventListener('touchmove', function (e) {
	window.event.returnValue = true
})
           

方法二:(經測試恢複滑動無效…)

禁止滑動

var fun=function(e){e.preventDefault();};
document.body.style.overflow='hidden';
document.addEventListener("touchmove",fun,{passive:false});//禁止頁面滑動                    
           

用以下方法恢複滑動經測試無效…

var fun=function(e){e.preventDefault();};
document.body.style.overflow='';
document.removeEventListener("touchmove",fun,{passive:false});
           

方法三:(經測試使用此方法隻能控制遮罩層不能滑動,遮罩層下面的内容仍然可以滑動,但恢複滑動是有效的)

禁止滑動

var fun=function(e){e.preventDefault();};
document.body.style.overflow='hidden';
document.addEventListener("touchmove",fun,false);//禁止頁面滑動 
           

恢複滑動

var fun=function(e){e.preventDefault();};
document.body.style.overflow='';
document.removeEventListener("touchmove",fun,false); 
           

歡迎各位留言指點。