[❗️ERROR] 채팅창에서 한글 입력 enter키로 이벤트 발생 시 마지막 문자가 중복되는 현상

sing sang song·2024년 10월 2일
1

❗️ERROR

목록 보기
8/8
post-thumbnail

이유 : 한글 입력 시 마지막 글자가 두 번 입력되는 문제는 keydown 이벤트가 조합 중인 문자를 처리하기 때문이다.
이를 해결하기 위해 KeyboardEvent.isComposing 속성을 사용하여 조합 중인 문자가 아닌 경우에만 메시지를 전송하도록 할 수 있다.

        // Enter 키를 눌러 메시지를 전송하는 함수
        document.getElementById('content').addEventListener('keydown', function(event) {
            if (event.key === 'Enter' && !event.shiftKey && !event.isComposing) {
                event.preventDefault(); // 기본 Enter 키 동작(줄 바꿈)을 방지
                setTimeout(sendMessage, 0); // 메시지 전송 함수 호출을 약간 지연
            }
        });

https://na0i.tistory.com/entry/%ED%95%9C%EA%B8%80-%EB%91%90%EB%B2%88%EC%94%A9-%EC%9E%85%EB%A0%A5%EB%90%98%EB%8A%94-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0keydown-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%8B%9C-%EB%81%9D%EA%B8%80%EC%9E%90%EA%B0%80-%EB%91%90%EB%B2%88-%EB%B0%98%EB%B3%B5%EB%90%98%EB%8A%94-%ED%98%84%EC%83%81

profile
세상을 선명하게

0개의 댓글