滚动穿透
创建时间:2019-02-16
遇到的问题
移动端开发中,最常遇见的一个场景就是,一个可滑动的列表页,弹出一个带有全屏蒙层的弹框。这个时候如果没有进行处理的话,就会出现,用手滑动蒙层空白处时,滑动事件会穿透到底部列表页,导致弹框虽然固定了,但是列表页会滑动。
需解决的问题
- 滑动空白处,底层的列表不会滑动;
- 弹框内如果需要滚动的时候,可以滚动;
解决方案
1. 弹框显示的时候,对于外层的可滚动容器设置 overflow-y: hidden 。
2. 阻止 touchmove 的默认行为,但是这样会连弹框内的滚动事件一起阻止了,适合不需要滚动的场景。