mirror of
https://github.com/MoonTechLab/LunaTV.git
synced 2026-02-28 01:13:15 +08:00
fix: fix ios version panel scroll
This commit is contained in:
@@ -48,6 +48,28 @@ export const VersionPanel: React.FC<VersionPanelProps> = ({
|
|||||||
return () => setMounted(false);
|
return () => setMounted(false);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
// Body 滚动锁定 - 使用 overflow 方式避免布局问题
|
||||||
|
useEffect(() => {
|
||||||
|
if (isOpen) {
|
||||||
|
const body = document.body;
|
||||||
|
const html = document.documentElement;
|
||||||
|
|
||||||
|
// 保存原始样式
|
||||||
|
const originalBodyOverflow = body.style.overflow;
|
||||||
|
const originalHtmlOverflow = html.style.overflow;
|
||||||
|
|
||||||
|
// 只设置 overflow 来阻止滚动
|
||||||
|
body.style.overflow = 'hidden';
|
||||||
|
html.style.overflow = 'hidden';
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
// 恢复所有原始样式
|
||||||
|
body.style.overflow = originalBodyOverflow;
|
||||||
|
html.style.overflow = originalHtmlOverflow;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}, [isOpen]);
|
||||||
|
|
||||||
// 获取远程变更日志
|
// 获取远程变更日志
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (isOpen) {
|
if (isOpen) {
|
||||||
@@ -268,21 +290,16 @@ export const VersionPanel: React.FC<VersionPanelProps> = ({
|
|||||||
<div
|
<div
|
||||||
className='fixed inset-0 bg-black/50 backdrop-blur-sm z-[1000]'
|
className='fixed inset-0 bg-black/50 backdrop-blur-sm z-[1000]'
|
||||||
onClick={onClose}
|
onClick={onClose}
|
||||||
onTouchStart={(e) => {
|
|
||||||
// 阻止触摸事件冒泡,防止背景滚动
|
|
||||||
e.preventDefault();
|
|
||||||
}}
|
|
||||||
onTouchMove={(e) => {
|
onTouchMove={(e) => {
|
||||||
// 阻止触摸移动,防止背景滚动
|
// 只阻止滚动,允许其他触摸事件
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopPropagation();
|
|
||||||
}}
|
}}
|
||||||
onTouchEnd={(e) => {
|
onWheel={(e) => {
|
||||||
// 阻止触摸结束事件,防止背景滚动
|
// 阻止滚轮滚动
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
}}
|
}}
|
||||||
style={{
|
style={{
|
||||||
touchAction: 'none', // 禁用所有触摸操作
|
touchAction: 'none',
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user