修复真机撑屏:锁滚动只改 overflowY——整个 overflow 改 hidden 会覆盖样式表的 overflow-x: clip,横向从裁剪变可滚动容器,整页能被拖宽

This commit is contained in:
Sakurasan
2026-09-29 01:48:42 +08:00
parent 2674bea223
commit 165f87d086
+6 -6
View File
@@ -18,21 +18,21 @@ watch(
(v) => { (v) => {
if (v) { if (v) {
window.addEventListener('keydown', onKey) window.addEventListener('keydown', onKey)
prevOverflow = document.body.style.overflow prevOverflow = document.body.style.overflowY
document.body.style.overflow = 'hidden' // 只锁纵向:整个 overflow 改 hidden 会覆盖样式表的 overflow-x: clip,
// 吸顶栏带 backdrop-filter,真机上其合成层会盖在遮罩之上 // 横向从「裁剪」变「可滚动容器」,手机上整页能被拖宽(真实事故)
// (遮罩明明 z-index 更高也拦不住)——索性开预览时整个藏掉 document.body.style.overflowY = 'hidden'
document.body.classList.add('lb-open') document.body.classList.add('lb-open')
} else { } else {
window.removeEventListener('keydown', onKey) window.removeEventListener('keydown', onKey)
document.body.style.overflow = prevOverflow document.body.style.overflowY = prevOverflow
document.body.classList.remove('lb-open') document.body.classList.remove('lb-open')
} }
} }
) )
onBeforeUnmount(() => { onBeforeUnmount(() => {
window.removeEventListener('keydown', onKey) window.removeEventListener('keydown', onKey)
document.body.style.overflow = prevOverflow document.body.style.overflowY = prevOverflow
document.body.classList.remove('lb-open') document.body.classList.remove('lb-open')
}) })