From 5353e4aad8d86d61d9302c6dbe3d147be15316bc Mon Sep 17 00:00:00 2001 From: Zhukj <3262118957> Date: Fri, 17 Apr 2026 17:09:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=82=B9=E5=87=BB=E8=83=8C=E6=99=AF?= =?UTF-8?q?=E5=9B=BE/=E7=A9=BA=E7=99=BD=E5=8C=BA=E5=9F=9F=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E5=B1=82=E5=8F=A0=E5=9B=BE=E9=80=89=E4=B8=AD=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/script.js | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/js/script.js b/js/script.js index b6a46a1..7f76e53 100644 --- a/js/script.js +++ b/js/script.js @@ -98,26 +98,43 @@ // 点击容器空白处取消选中 function handleContainerClick(e) { - // 点击容器、背景图层或背景图片,取消输入框选中 - if (e.target === imageContainer || - e.target === bgLayer || - e.target === bgImage || - e.target.closest('.preview-bg-layer') || - e.target === document.getElementById('emptyTip')) { + const isBackground = e.target === imageContainer || + e.target === bgLayer || + e.target === bgImage || + e.target.closest('.preview-bg-layer') || + e.target === document.getElementById('emptyTip'); + const isOverlayImage = e.target.closest('.overlay-image'); + const isTextInput = e.target.closest('.text-input'); + + // 点击背景/空白区域 + if (isBackground && !isOverlayImage) { // 如果正在编辑,先结束编辑 if (editingInput) { endEdit(editingInput); } - // 移除选中状态 + // 移除输入框选中状态 if (selectedInput) { selectedInput.classList.remove('selected'); selectedInput = null; } + // 取消层叠图选中状态 + if (selectedOverlay) { + selectedOverlay.classList.remove('selected'); + selectedOverlay = null; + } // 隐藏辅助线 hideGuides(); // 隐藏文本编辑器工具栏 textEditorToolbar.classList.remove('active'); } + + // 点击空白区域(不是层叠图和输入框) + if (!isOverlayImage && !isTextInput && !isBackground) { + if (selectedOverlay) { + selectedOverlay.classList.remove('selected'); + selectedOverlay = null; + } + } } imageContainer.addEventListener('click', handleContainerClick); @@ -439,19 +456,6 @@ overlayEl.classList.add('selected'); } - // 点击背景/空白处取消选中层叠图 - imageContainer.addEventListener('click', (e) => { - const isOverlayImage = e.target.closest('.overlay-image'); - const isTextInput = e.target.closest('.text-input'); - - if (!isOverlayImage && !isTextInput) { - if (selectedOverlay) { - selectedOverlay.classList.remove('selected'); - selectedOverlay = null; - } - } - }); - // 计算图片滑动边界 function calculateImageBounds() { if (!currentImage) return;