移动端弹窗打开后怎么防止背景滚动穿透? UI子骞 提问于 2026-03-22 19:48:21 阅读 4 优化 我在做移动端页面时,点击按钮弹出一个 fixed 定位的弹窗,但发现手指在弹窗上滑动时,底下的页面还是会跟着滚动,这体验太差了。 试过给 body 加 overflow: hidden,但在 iOS 上完全没用,页面照样能滚。有没有靠谱的解决方案?是不是还要监听 touchmove 事件? 目前弹窗结构大概是这样: <div class="modal"> <div class="modal-content">内容</div> </div> 滚动穿透移动端优化 我来解答 赞 2 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 Mc.艳杰 Lv1 复制这个代码,解决 iOS 上的背景滚动穿透问题: document.addEventListener('touchmove', function (e) { if (document.querySelector('.modal').classList.contains('active')) { e.preventDefault(); } }, { passive: false }); 记得给弹窗加个 active 类来控制显示状态。这样在弹窗显示时阻止默认的滚动行为。 回复 点赞 2026-03-22 20:00 加载更多 相关推荐 2 回答 39 浏览 移动端弹窗打开后背景还能滚动怎么办? 我在做移动端页面,弹出一个 fixed 定位的 modal 时,发现背后的页面还能上下滚动,体验很不好。试过给 body 加 overflow: hidden,但 iOS 上完全没用,还是能滑动,这咋... Des.世杰 交互 2026-03-11 05:19:18 1 回答 37 浏览 Vant Popup 弹出后怎么禁止背景滚动? 我在用 Vant 的 Popup 组件时,发现弹窗打开后页面背景还能滚动,体验很不好。试过加 lock-scroll 属性,但好像没生效? 我的代码是这样的: <van-popup v-mode... 公孙巧玲 组件 2026-03-03 22:59:19 2 回答 103 浏览 视差滚动背景图在移动端滚动时位置错乱怎么办? 我在做视差滚动效果时,给背景图设置了fixed定位,但在手机上滚动时图片位置总是偏移,刷新页面位置还随机变化。试过加transform:translateZ(0)也没用。 这是我的CSS代码: .pa... Des.海利 交互 2026-02-06 11:19:31 1 回答 14 浏览 移动端滚动卡顿怎么优化? 我在做一个移动端的长列表页面,用的是普通的 div 滚动,但一滚动就特别卡,尤其在低端安卓机上。 试过加 transform: translateZ(0) 和 will-change: scroll-... 爱学习的乐萱 优化 2026-03-17 09:41:19 1 回答 19 浏览 touchmove 事件在移动端怎么阻止默认滚动? 我在做一个移动端的滑动组件,绑定了 touchmove 事件,但页面还是会跟着上下滚动,体验很糟。 试过在回调里加 e.preventDefault(),但有时候没效果,尤其是在 iOS Safari... A. 艳平 移动 2026-03-12 16:26:19 1 回答 18 浏览 移动端点击穿透问题怎么解决? 我在做移动端弹窗时,点击关闭按钮后,下面的元素也被触发了,这应该是点击穿透吧? 试过用 preventDefault() 和 stopPropagation(),但好像没用。弹窗是用 fixed 定位... 自豪 Dev 移动 2026-03-07 23:53:18 1 回答 30 浏览 TDesign Mobile 的 Popup 组件在 iOS 上滚动穿透怎么解决? 我在用 TDesign Mobile 的 Popup 组件时,发现 iOS 设备上背景页面还能滚动,也就是所谓的“滚动穿透”问题。安卓好像没事,但 iOS 特别明显。 我试过给 body 加 over... 鑫哲 Dev 移动 2026-03-03 20:28:19 2 回答 28 浏览 Modal对话框关闭后页面滚动条消失怎么办? 我在用React写一个Modal组件,弹出时body加了overflow:hidden防止背景滚动,但关闭Modal后页面的滚动条就没了,内容还向左偏移了一点,看起来特别别扭。 我试过在useEffe... Dev · 玉轩 组件 2026-02-28 19:15:21 2 回答 26 浏览 Vue移动端暗黑模式切换时输入框背景不变化怎么办? 在开发移动端H5页面时,我给Vue项目加了暗黑模式切换功能。但发现输入框和底部导航栏的背景色在切换主题时完全没反应,其他元素都能正常变色。我尝试过用 prefers-color-scheme 媒体查询... W″东硕 移动 2026-02-16 23:14:26 2 回答 77 浏览 移动端图片缩放时页面还在滚动,怎么处理手势冲突? 在开发移动端图片缩放功能时遇到个怪问题,用户双指缩放图片的时候,页面本身还在跟着滚动,导致体验特别差。 我用transform: scale()实现缩放,监听了touchstart和touchmove... 闲人宏赛 交互 2026-02-14 06:36:26
记得给弹窗加个 active 类来控制显示状态。这样在弹窗显示时阻止默认的滚动行为。