Language/JS
[Javascript] KeyboardEvent.key / 키보드 이벤트
개발하는 사막여우
2021. 8. 31. 16:55
반응형
☑️keyboardEvent.key
KeyboardEvent는 Shift와 같은 수정자 키 상태 및 키보드 로케일 및 레이아웃을 고려하여 사용자가 누른 키의 값을 반환
key values:
- 눌린 키가 보여줄 수 있는 값을 가지고 있다면, Unicode character string을 반환한다.(ex. A, b, c, d, ㅇ, ㄷ…)
- 눌린 키가 컨트롤이나 스페셜한 캐릭터라면, pre-define된 키 값을 반환한다.(ex. Ctrl, alt, shift…)
- Dead 키가 입력되었다면, Dead라고 나타난다.
- 값을 알 수 없는 키라면, Unidentified 발생
keyboardEvent sequence:
- 키 입력시 keydown 이벤트 발생, 반복 입력시 keyboardEvent.repeat = true로 됨.
- 키가 의미있는 글자를 발생시킨다면, beforeinput과 input이벤트가 차례로 발생한다.
- Keyup 이벤트가 발생하고 키는 풀리게 된다.
1, 3번에서 keyboardEvent.key 속성이 정의된다.
input event를 지원하지 않는 브라우저에서는 input, beforeinput 이벤트가 정상적으로 처리되지 않을 수 있다.
정리
- 키보드 이벤트 발생 순서: keydown → beforeinput → input → keyup
- 반복된 키 입력시 keyboardEvent.repeat = true: 반복이 불필요한 부분에서는 이를 block해버리면 쉬울 것 같다.
- key values를 통하여 해당 키의 값을 직접 가져올 수 있음: 외부 라이브러리/모듈의 참조를 최소화할 수 있다.
반응형