이전 버전의 html에서 직접 구현한 코드 입력창의 자동 들여쓰기 기능을 약간 수정하였습니다. Jquery로 Enter키의 keydown 이벤트를 감지하여 쿼리가 동작하도록 수정하였는데 아래 줄에서 들여쓰기가 되지 않고 이전 줄 끝에 들여쓰기가 들어가는 문제가 발생하였습니다.
원인: #input_code의 값을 slice(-1), endsWith("\n") 등으로 확인해 본 결과
줄바꿈(\n)이 되기 전에 구현한 쿼리가 실행된다는 것을 확인하였습니다.
1차 수정: setInterval(), clearInterval()을 이용하여 \n가 입력될 때까지 대기해 보았습니다. ❌
추측 원인🤔: nter키의 keydown 이벤트를 감지하는 것이 문제일까?
2차 수정: keyup 이벤트를 감지하도록 수정 ☠️
3차 수정: #input_code의 textarea의 input 이벤트를 감지하여
현재 커서가 위치한 인덱스 이전의 문자가 \n이고 이전 줄이 들여쓰기로 시작했을 때(문장의 맨 앞이 공백으로 시작할 때) 들여쓰기 수행 ✅