이벤트 모델 직접 탐구·원인 추적 흐름 중심으로 푸는 결
개인 프로젝트로 할 일 관리 웹앱을 만들 때 가장 어려웠던 건 드래그앤드롭 기능을 라이브러리 없이 직접 구현하는 부분이었습니다. 마우스 이벤트 좌표 계산과 드롭 대상 판별 로직이 예상보다 복잡했는데, 처음에는 mouseup 이벤트로 드롭 위치를 계산했다가 빠르게 움직일 때 이벤트가 대상 요소 바깥에서 발생하는 문제가 생겼습니다. 문서를 찾아보다 `document` 레벨에서 이벤트를 잡아야 한다는 걸 알게 됐고, 드래그 중인 아이템 인덱스를 ref로 관리하면서 대상 요소 순서를 실시간으로 계산하는 방식으로 바꿨습니다. 이후 터치 이벤트 지원도 추가해야 해서 터치·마우스 이벤트를 공통 핸들러로 묶는 구조로 리팩토링했습니다. 결과적으로 원하던 동작을 완성했고, 이 경험을 통해 브라우저 이벤트 모델을 직접 다뤄보는 것이 큰 공부가 됐습니다.