页面经常会遇到弹出层的组件。弹出层激活后覆盖整个页面,背景部分无法滚动。实现有以下几个关键点:弹出层的位置设置为固定,四个定位锚点全部设置为0;弹出层激活时,html和body设置overflow:hidden;下面是实践:codepen可以完全禁止滚动在mousewheel和touchmove事件中调用preventDefault()方法(分别对应PC和mobile):functionforbidScroll(e){e.preventDefault&&e.preventDefault();e.returnValue=false;e.stopPropagation&&e.stopPropagation();returnfalse;}需要注意的是,chrome默认将touchmove事件视为被动事件。false}面向对象实现的结果:codenpen使用es6再次重构:codenpen原文:http://codepen.io/zhaojun/pos...
