移动端开发,禁止屏幕的滚动

20 篇文章 0 订阅

手机端出现弹框后,禁止页面的滚动。

移动端使用e.preventDefault()禁止滚动及取消,兼容苹果

原文链接

//实现滚动条无法滚动
var mo=function(e){e.preventDefault();};

/***禁止滑动***/
function stop(){
        document.body.style.overflow='hidden';        
        document.addEventListener("touchmove",mo,false);//禁止页面滑动
}

/***取消滑动限制***/
function move(){
        document.body.style.overflow='';//出现滚动条
        document.removeEventListener("touchmove",mo,false);        
}

改进后:

// 弹框或遮罩层出现后调用,
function addtouchmove () {
    document.body.addEventListener('touchmove', function (e) {
        e.preventDefault()
    }, {passive: false})
}
// 弹框或遮罩层消失后调用,
function cuttouchmove () {
    document.body.addEventListener('touchmove', function (e) {
        window.event.returnValue = true
    })
}

终极版

//给遮罩层加	touchmove事件  阻止默认事件

  $('.bg').on('touchmove',function(e){
       e.preventDefault();
  });


 $('.bg').on('touchmove',function(e){
      e.stopPropagation()
 });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值