JavaScript实现移动端弹窗后禁止滚动


Posted in Javascript onMay 25, 2020

代码如下

computed:{
  popupStatus(){
    return this.SendCircle_visible || this.generateInfo_visible || this.isPosterShow;
  }
},
methods:{
  stopTouch(e){
    e.preventDefault();
  },
},
watch: { 
  popupStatus(val) {
    let preD = this.stopTouch;
    let options = { 
      passive: false, //强调默认事件
      capture: true, //早点禁止该事件 
    };
    if (val) {
      document.body.style.overflow = 'hidden';
      document.addEventListener('touchmove', preD, options); // 禁止页面滑动
    } else {
      document.body.style.overflow = ''; // 出现滚动条
      document.removeEventListener('touchmove', preD, options);
    }
  }
}

配置说明

addEventListener目前第三个参数可以为布尔值或对象

addEventListener(type, listener[, useCapture ])
addEventListener(type, listener[, options ])

为对象时默认配置如下

capture: false
passive: false
once: false

其中 capture 属性等价于以前的 useCapture 参数;once 属性就是表明该监听器是一次性的,执行一次后就被自动 removeEventListener 掉。

passive是因为浏览器无法预先知道一个监听器会不会调用 preventDefault(),只有等监听器执行完后再去执行默认行为,因此就会导致页面卡顿。而一旦passive为true,浏览器就可以直接执行默认行为而不等待。此时即使调用了 preventDefault() 也不会生效。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Js 去掉字符串中的空格(实现代码)
Nov 19 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
Feb 12 Javascript
使用jQuery实现图片遮罩半透明坠落遮挡
Mar 16 Javascript
Javascript使用post方法提交数据实例
Aug 03 Javascript
基于javascript实现全屏漂浮广告
Mar 31 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
Jun 02 Javascript
使用Bootstrap美化按钮实例代码(demo)
Feb 03 Javascript
如何使用bootstrap框架 bootstrap入门必看!
Apr 13 Javascript
微信小程序 获取session_key和openid的实例
Aug 17 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
Dec 25 jQuery
Node.js 使用request模块下载文件的实例
Sep 05 Javascript
jquery实现鼠标悬浮弹出气泡提示框
Dec 23 jQuery
ES2020 已定稿,真实场景案例分析
May 25 #Javascript
Javascript原型链及instanceof原理详解
May 25 #Javascript
Node登录权限验证token验证实现的方法示例
May 25 #Javascript
详解Node.js使用token进行认证的简单示例
May 25 #Javascript
基于redis的小程序登录实现方法流程分析
May 25 #Javascript
JSONP解决JS跨域问题的实现
May 25 #Javascript
JS实现时间校验的代码
May 25 #Javascript
You might like
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
PHP+jQuery翻板抽奖功能实现
2015/10/19 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
JavaScript 字符编码规则
2009/05/04 Javascript
让Firefox支持event对象实现代码
2009/11/07 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
JavaScript执行顺序详细介绍
2013/12/04 Javascript
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
详解js实现线段交点的三种算法
2016/08/09 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
2017/11/22 Javascript
Node.js 的 GC 机制详解
2019/06/03 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
2019/02/18 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
django-csrf使用和禁用方式
2020/03/13 Python
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
2019/06/03 HTML / CSS
大学生毕业求职的自我评价
2013/09/29 职场文书
财务人员担保书
2014/05/13 职场文书
代理人委托书
2014/08/01 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
2015年中秋节活动总结
2015/03/23 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
文案策划岗位个人自我评价(范文)
2019/08/08 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
关于Vue Router的10条高级技巧总结
2021/05/06 Vue.js
解决ObjectMapper.convertValue() 遇到的一些问题
2021/06/30 Java/Android