From 26cc086414fac8645ec669fc44b3ceecf7c1eb21 Mon Sep 17 00:00:00 2001 From: 2620227 Date: Tue, 7 Jul 2026 18:44:36 +0900 Subject: [PATCH] =?UTF-8?q?fix(projects):=20=EC=83=81=EC=84=B8=20=EB=AA=A8?= =?UTF-8?q?=EB=8B=AC=20=EC=97=B4=20=EB=95=8C=20=ED=95=98=EB=8B=A8=20?= =?UTF-8?q?=EA=B3=A0=EC=A0=95=20=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 댓글 입력창 focus() 가 브라우저 스크롤을 하단으로 밀어 README 가 길면 상세가 맨 아래에 고정돼 열리던 문제. overlay 스크롤을 맨 위로 되돌리고 focus({ preventScroll: true }) 로 포커스 점프를 막음. Co-Authored-By: Claude Opus 4.8 --- public/js/modals.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/js/modals.js b/public/js/modals.js index b0ae8dd..89b1322 100644 --- a/public/js/modals.js +++ b/public/js/modals.js @@ -50,8 +50,12 @@ export function openDetail(id) { // 주의: 열기 감지 셀렉터가 [data-open-id] 라서 같은 이름을 쓰면 모달 내부 클릭(닫기/삭제)이 // 다시 "열기"로 잡힌다. 마커는 반드시 다른 속성명(data-open-pid)으로 둔다. overlay.setAttribute("data-open-pid", id); + // 스크롤 컨테이너(overflow-y:auto 인 .modal-overlay)를 맨 위로 되돌린다. + overlay.scrollTop = 0; + // 주의: 그냥 focus() 하면 브라우저가 하단 댓글창을 보이게 하려고 모달을 맨 아래로 + // 스크롤한다 → README 가 길면 상세가 하단에 고정돼 열린다. preventScroll 로 막는다. const ta = $(".comment-input", overlay); - if (ta) ta.focus(); + if (ta) ta.focus({ preventScroll: true }); } function closeDetail() { const overlay = $("#detailModal");