一. 问题描述
移动端外层dom是滚动的,如果有弹出框,也是滚动的,就会出现两层滚动
二. 问题思路
- 想办法正面直接去除
- 直接去除不能实现,想办法间接去除,比如超出隐藏,内容和背景同色,透明等
- 如果间接也去除不了想办法用另一种方法实现
三. 问题方法
-
直接去除 安卓两层滚动没有问题,iOS两层滚动底部会滚动,无法直接去除
-
间接去除
- 直接去除可以通过监听弹出框是否打开,如果打开直接在底部滚动dom display: none, 如果弹出框没打开,底部滚动dom display: auto。底部dom也可直接换成 body
- 可以在弹出框上禁止默认事件和冒泡事件,这种方法我失败了,具体原因私聊。
-
其他思路
可以将弹出框用另一个页面打开,或者弹出框全屏。