移动端使用e.preventDefault()禁止滚动及取消
2020-04-03 本文已影响0人
看庭前花开花落_望天上云卷云舒
原文链接地址:https://www.jianshu.com/p/34095f77e410
问题:在移动端会遇到弹出遮罩和取消遮罩的问题,在弹出遮罩层的时候需要禁止背景屏幕的滑动,在取消遮罩的时候需要允许背景屏幕的滑动。
移动端防止页面滚动代码(兼容苹果和安卓)
// 防止下拉
function touchmove () {
document.body.addEventListener('touchmove', function (e) {
e.preventDefault()
}, {passive: false})
}
遮罩层消失之后允许下拉
function untouchmove () {
document.body.addEventListener('touchmove', function (e) {
window.event.returnValue = true
})
}
在遮罩层弹出是调用touchmove()方法,关闭遮罩层之后调用untouchmove()方法,即可实现想要的效果。