vue 遮罩层阻止默认滚动事件操作


Posted in Javascript onJuly 28, 2020

在写移动端页面的时候,弹出遮罩层后,我们仍然可以滚动页面。

vue中提供 @touchmove.prevent 方法可以完美解决这个问题

<div class="dialog" @touchmove.prevent ></div>

如果不是使用Vue的话,可以给body添加overflow:hidden属性解决

补充知识:vue项目中禁止页面滚动 / 滚动事件穿透 (弹出蒙版时,弹出层下面还可以滚动)

vue项目中弹出层时,蒙版下还可以滚动页面。

移动端解决方案

在蒙层所在div上加 @touchmove.prevent

<div class="maskBox" @touchmove.prevent></div>

PC端解决方案

弹层显示时调用 stopMove()停止页面滚动 ,弹层消失时调用 Move()开启页面滚动

//停止页面滚动
 stopMove(){
  let m = function(e){e.preventDefault();};
  document.body.style.overflow='hidden';
  document.addEventListener("touchmove",m,{ passive:false });//禁止页面滑动
 },
 //开启页面滚动
 Move(){
  let m =function(e){e.preventDefault();};
  document.body.style.overflow='';//出现滚动条
  document.removeEventListener("touchmove",m,{ passive:true });
 }

以上这篇vue 遮罩层阻止默认滚动事件操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Prototype使用指南之range.js
Jan 10 Javascript
jQuery+css实现图片滚动效果(附源码)
Mar 18 Javascript
js自定义鼠标右键的实现原理及源码
Jun 23 Javascript
JavaScript中数据结构与算法(二):队列
Jun 19 Javascript
详解AngularJS中module模块的导入导出
Dec 10 Javascript
果断收藏9个Javascript代码高亮脚本
Jan 06 Javascript
JS命令模式例子之菜单程序
Oct 10 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
Aug 25 Javascript
javascript 缓冲运动框架的实现
Sep 29 Javascript
vue.js学习笔记之v-bind和v-on解析
May 03 Javascript
给localStorage设置一个过期时间的方法分享
Nov 06 Javascript
JS实现随机点名器
Apr 12 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
Jul 28 #Javascript
处理JavaScript值为undefined的7个小技巧
Jul 28 #Javascript
vue中touch和click共存的解决方式
Jul 28 #Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
Jul 28 #Javascript
JavaScript中window和document用法详解
Jul 28 #Javascript
vue中echarts引入中国地图的案例
Jul 28 #Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
Jul 28 #Javascript
You might like
PHP 基本语法格式
2009/12/15 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
PHP session垃圾回收机制实例分析
2019/06/28 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
jQuery之浮动窗口实现代码(两种方法)
2010/09/08 Javascript
jquery插件jTimer(jquery定时器)使用方法
2013/12/23 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
2017/03/10 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
nodeJS模块简单用法示例
2018/04/21 NodeJs
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
python中assert用法实例分析
2015/04/30 Python
Python基于DES算法加密解密实例
2015/06/03 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
Python实现将文本生成二维码的方法示例
2017/07/18 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
初中三年毕业生的自我评价分享
2014/02/14 职场文书
给公司的建议书范文
2014/05/13 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
2015年护士节活动总结
2015/02/10 职场文书
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android
Python实现制作销售数据可视化看板详解
2021/11/27 Python
Hive导入csv文件示例
2022/06/25 数据库
Python可视化神器pyecharts绘制水球图
2022/07/07 Python