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 相关文章推荐
javascript 控制弹出窗口
Apr 10 Javascript
一段利用WSH修改和查看IP配置的代码
May 11 Javascript
js遍历td tr等html元素
Dec 13 Javascript
JS中window.open全屏命令解析及使用示例
Dec 11 Javascript
jquery解析JSON数据示例代码
Mar 17 Javascript
IE6已终止操作问题的2种情况及解决
Apr 23 Javascript
js中键盘事件实例简析
Jan 10 Javascript
javascript判断复选框是否选中的方法
Oct 16 Javascript
JS对HTML表格进行增删改操作
Aug 22 Javascript
AngularJS中如何使用echart插件示例详解
Oct 26 Javascript
基于BootStrap的前端分页带省略号和上下页效果
May 18 Javascript
vue-loader中引入模板预处理器的实现
Sep 04 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
PHP5中的时间相差8小时的解决办法
2008/03/28 PHP
个人写的PHP验证码生成类分享
2014/08/21 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
Vue.JS入门教程之列表渲染
2016/12/01 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
js实现分页功能
2017/05/24 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
Vue开发之watch监听数组、对象、变量操作分析
2019/04/25 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
nodejs各种姿势断点调试的方法
2020/06/18 NodeJs
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
python实现一次性封装多条sql语句(begin end)
2020/06/06 Python
python是怎么被发明的
2020/06/15 Python
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
顺丰快递Java软件工程师面试题
2015/07/31 面试题
教师找工作推荐信
2013/11/23 职场文书
2014年最新学习全国两会精神心得
2014/03/17 职场文书
喋血孤城观后感
2015/06/08 职场文书
员工规章制度范本
2015/08/07 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书
Mac环境Nginx配置和访问本地静态资源的实现
2021/03/31 Servers
如何理解PHP核心特性命名空间
2021/05/28 PHP
pandas提升计算效率的一些方法汇总
2021/05/30 Python
PHP使用QR Code生成二维码实例
2021/07/07 PHP
go goth封装第三方认证库示例详解
2022/08/14 Golang