naver / guitar

75 stars 18 forks source link

INPUT 태그에 텍스트 입력 시 마지막 글자에는 onkeyup 이벤트가 발생하지 않나요? #390

Closed koko8829 closed 6 years ago

koko8829 commented 6 years ago

아래와 같이 테스트해보면 입력한 "test" 문자열이 대문자로 바뀌어 "TEST"로 표시되어야 하는데 "TESt"로 표기되더군요. 마지막 글자 입력 시 onkeyup 이벤트가 발생하지 않는 것 같아서요. INPUT 태그에 텍스트만 입력하고 테스트를 종결하는 경우에는 마지막 글자 입력 후 ENTER 키나 다른 키 이벤트를 넣어주어야 하나요?

https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onkeyup으로 접속한다.
[input:id=fname]를 클릭한다.
"test"를 입력한다.

image

ssmmhh commented 6 years ago

GUITAR에서 "입력" 명령은 직접 키패드를 누르는 것이 아닌 ascii 를 전달하는 방식으로 입력하게 됩니다. 때문에 직접 키 이벤트를 감지하는 곳에서는 예상치 않은 작동이 일어날수 있습니다.

테스트 하신 페이지는 키 이벤트 발생시 이를 확인하고 대분자를 바꿔주는 예제 사이트 인데요. 특이하게 마지막 글자만 작동이 안되네요 ㅠㅠ

이런경우 직적 물리적으로 키를 누르는 방식인 "누른다" 명령을 아래와 같이 쓰시면 정상 작동됩니다.

"test"를 누른다.

koko8829 commented 6 years ago

텍스트를 누른다는 표현이 좀 찜찜하긴 하지만 ^^ 잘 동작하네요. 감사합니다.