diff --git a/frontend/src/lib/components/HandwriteCanvas.svelte b/frontend/src/lib/components/HandwriteCanvas.svelte index 04ddbe3..ac96127 100644 --- a/frontend/src/lib/components/HandwriteCanvas.svelte +++ b/frontend/src/lib/components/HandwriteCanvas.svelte @@ -642,7 +642,14 @@ 'touch-action: manipulation; user-select: none; -webkit-user-select: none; ' + '-webkit-touch-callout: none; -webkit-tap-highlight-color: transparent;'; - // button click 직후 즉시 blur — focus 시 발생하는 자동 zoom in 차단. + // iOS Safari 의 button focus 는 mousedown/pointerdown 단계에 발동 → 그 영역으로 + // 자동 zoom (사용자 보고: "펜/지우개 누르면 해당 부분 확대"). click 시점의 + // clickThenBlur 는 이미 늦음 — focus 가 잡히는 시점이 mousedown 이라 그 단계에서 + // preventDefault 해야 focus 자체가 안 잡힘. click 이벤트는 별도라 onclick 정상. + function blockBtnFocus(e: Event) { e.preventDefault(); } + + // (clickThenBlur 는 잔존 케이스 안전망으로 유지 — focus 가 어떻게든 잡힌 + // 케이스에서 즉시 blur. mousedown 차단이 1차, blur 가 2차.) function clickThenBlur(fn: () => void) { return (e: Event) => { const t = e?.currentTarget as HTMLElement | null; @@ -660,6 +667,8 @@ >