728x90
onKeyUp, onKeyDown 한글 입력 시 두번 실행되는 오류
- 특정 환경에서 한글 입력 시 composing 단계를 거치는데 이게 완료되지 않아 keyCode나 which 값이 229가 나오는 에러가 발생한다고 한다.
- 이 229 에러가 발생해 그 연장선으로 key event가 제대로 작동하지 않아 결국 함수가 두 번씩 실행된 것 같은데, 두 번 실행에 대한 정확한 사유는 적혀있지 않았다.
- onKeyDown을 사용하고, composing 단계랑 keyCode === 229 일 때 return 하는 방법으로 걸러주어 밑의 작성된 코드를 정상적인 동작을 하게끔 만들어 주는 것으로 파악된다.
function keyEnterHandler(e) {
if (e.isComposing || e.keyCode === 229) return;
if (e.key === "Enter") {
console.log('Enter 실행');
}
}
참고1: https://4sii.tistory.com/473
onKeyUp, onKeyDown 한글 입력 시 두번 실행되는 오류
개요 pressEnterHandler(e)}/> function pressEnterHandler(e) { if (e.key === "Enter") { console.log('pressEnterHandler 실행'); test(); } } function test() { console.log('test'); } 위와 같은 코드를 사용할 때 input에서 엔터를 누르면 이
4sii.tistory.com
728x90
'React > React 실습' 카테고리의 다른 글
[React] Material-UI Popover 위치 보정과 애니메이션 적용 시행착오 기록 (0) | 2025.03.14 |
---|---|
[React] Material-UI Popover에서 Popper로 전환한 시행착오 (0) | 2025.03.14 |
[React] Drawer와 Tab, Accordian - Console 콘솔에러 제거하기 (0) | 2025.02.04 |
[React] Drawer와 Tab, Accordian으로 FAQ 구현하기 (0) | 2025.02.03 |
[React] Mention 기능 (Tribute.js) (1) | 2025.02.03 |
댓글