移动端使用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()方法,即可实现想要的效果。

上一篇下一篇

猜你喜欢

热点阅读