반응형
☑️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를 통하여 해당 키의 값을 직접 가져올 수 있음: 외부 라이브러리/모듈의 참조를 최소화할 수 있다.
반응형
'Language > JS' 카테고리의 다른 글
[Javascript] this 바인딩 규칙 (0) | 2021.09.30 |
---|---|
[Javascript] 자바스크립트 문자열 뒤집기 (0) | 2021.06.15 |
[Javascript] 디바운싱과 쓰로틀링 / 연속 이벤트 제어 (0) | 2021.06.08 |
[Javascript] Map 사용법 (0) | 2021.06.08 |
[Javascript] 일반 함수 vs 익명 함수 (4) | 2021.05.28 |