input에서 keydown 이벤트를 달아놓았는데
이상하게 영어는 괜찮은데 한글만 위처럼
끝글자가 두번씩 반복되는 이상한 문제와 마주쳤다.
KeyboardEvent.isComposing
은 입력한 문자가 조합문자인지 아닌지를 판단한다.
한글은 자음 + 모음의 조합으로 음절이 만들어지는 조합문자이고
영어는 조합문자가 아니다.
한글은 글자가 조합 중인 건지, 조합이 끝난 상태인지 파악하기 어렵기 때문에
해당 이슈는, 영어를 입력할 때는 발생하지 않고 한글을 입력할 때만 발생하는 것이었다!
간단한 해결방법으로는
onkeydown 대신 onkeypress를 사용하는 방법이 있다.
하지만 onkeypress는 shift키와 delete 키를 인식하지 못한다는 단점이 있다..!
조건식에 e.nativeEvent.isComposing === false를 추가하면 된다고 한다.
다른 분이 짜놓은 코드 가져오기 ㅎㅎ
keydown 이벤트 한글 중복 입력 현상
React로 카카오톡과 같은 채팅 컴포넌트를 만들던 중 발견한 버그와 해결한 방법을 기록해봅니다. 위 이미지는 내가 만들고있던 Chatting.tsx 컴포넌트다. 기록된 메시지들이 보이는 부분이 ChattingLis
kwangsunny.tistory.com
[JS] keydown/keyup에서 한글 입력 시 함수가 두 번 실행되는 경우
MailedIt! 서비스를 개발하다 오랫동안 해결하지 못한 에러가 있었다.
velog.io