思路如下:
彈框顯示時,設置 html 和 body overflow:hidden ,並阻止瀏覽器默認行為
彈框隱藏時,設置 html 和 body overflow:auto ,並放開瀏覽器默認行為限制
js代碼如下:
// 取消事件的默認動作 var cancelDefaultAction=function(e){e.preventDefault();}; // 彈框顯示時 document.body.style.overflow = "hidden"; document.addEventListener("touchmove",cancelDefaultAction,false);//禁止頁面滑動 // 彈框隱藏時 document.body.style.overflow = "auto"; document.removeEventListener("touchmove",cancelDefaultAction,false);//放開頁面滑動
如有表述不准確之處,歡迎指正,歡迎補充,感謝閱讀。