fix(projects): 상세 모달 열 때 하단 고정 문제 수정
댓글 입력창 focus() 가 브라우저 스크롤을 하단으로 밀어 README 가 길면 상세가 맨 아래에 고정돼 열리던 문제. overlay 스크롤을 맨 위로 되돌리고 focus({ preventScroll: true }) 로 포커스 점프를 막음.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -50,8 +50,12 @@ export function openDetail(id) {
|
|||||||
// 주의: 열기 감지 셀렉터가 [data-open-id] 라서 같은 이름을 쓰면 모달 내부 클릭(닫기/삭제)이
|
// 주의: 열기 감지 셀렉터가 [data-open-id] 라서 같은 이름을 쓰면 모달 내부 클릭(닫기/삭제)이
|
||||||
// 다시 "열기"로 잡힌다. 마커는 반드시 다른 속성명(data-open-pid)으로 둔다.
|
// 다시 "열기"로 잡힌다. 마커는 반드시 다른 속성명(data-open-pid)으로 둔다.
|
||||||
overlay.setAttribute("data-open-pid", id);
|
overlay.setAttribute("data-open-pid", id);
|
||||||
|
// 스크롤 컨테이너(overflow-y:auto 인 .modal-overlay)를 맨 위로 되돌린다.
|
||||||
|
overlay.scrollTop = 0;
|
||||||
|
// 주의: 그냥 focus() 하면 브라우저가 하단 댓글창을 보이게 하려고 모달을 맨 아래로
|
||||||
|
// 스크롤한다 → README 가 길면 상세가 하단에 고정돼 열린다. preventScroll 로 막는다.
|
||||||
const ta = $(".comment-input", overlay);
|
const ta = $(".comment-input", overlay);
|
||||||
if (ta) ta.focus();
|
if (ta) ta.focus({ preventScroll: true });
|
||||||
}
|
}
|
||||||
function closeDetail() {
|
function closeDetail() {
|
||||||
const overlay = $("#detailModal");
|
const overlay = $("#detailModal");
|
||||||
|
|||||||
Reference in New Issue
Block a user