개발하는 사막여우
개발하는 사막여우
개발하는 사막여우
전체 방문자
오늘
어제
  • All (310)
    • Books (13)
      • 읽기 좋은 코드가 좋은 코드다 (13)
    • Study (6)
      • Blockchain (3)
      • Algorithm (3)
    • Baekjoon (36)
    • Programmers (166)
    • LeetCode (15)
    • Open Source (1)
      • Youtube Popout Player (1)
    • Language (32)
      • Python (9)
      • JS (8)
      • Java (5)
      • HTML (6)
      • CSS (4)
    • Library & Framework (15)
      • React.js (15)
    • IDE (2)
      • IntelliJ (2)
    • Airdrop (9)
    • Tistory (2)
    • etc.. (12)
      • Cozubi (6)
      • lol-chess (0)

블로그 메뉴

  • Github

공지사항

인기 글

태그

  • 코딩테스트연습
  • 알고리즘문제풀이
  • 백준
  • 파이썬
  • Cozubi
  • 카카오 코딩테스트
  • 코인줍줍
  • 코주비
  • 프로그래머스 위클리 챌린지
  • 카카오 공채
  • Python
  • 카카오 알고리즘 문제
  • 읽기 좋은 코드가 좋은 코드다
  • 클린 코드 작성법
  • 프로그래머스
  • 클린 코드
  • Java
  • 신규 코인 에어드랍
  • 2018 KAKAO BLIND RECRUITMENT
  • programmers

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
개발하는 사막여우

개발하는 사막여우

[Javascript] KeyboardEvent.key / 키보드 이벤트
Language/JS

[Javascript] KeyboardEvent.key / 키보드 이벤트

2021. 8. 31. 16:55
반응형

☑️keyboardEvent.key

KeyboardEvent는 Shift와 같은 수정자 키 상태 및 키보드 로케일 및 레이아웃을 고려하여 사용자가 누른 키의 값을 반환

 

key values:

  1. 눌린 키가 보여줄 수 있는 값을 가지고 있다면, Unicode character string을 반환한다.(ex. A, b, c, d, ㅇ, ㄷ…)
  2. 눌린 키가 컨트롤이나 스페셜한 캐릭터라면, pre-define된 키 값을 반환한다.(ex. Ctrl, alt, shift…)
  3. Dead 키가 입력되었다면, Dead라고 나타난다.
  4. 값을 알 수 없는 키라면, Unidentified 발생

 

keyboardEvent sequence:

  1. 키 입력시 keydown 이벤트 발생, 반복 입력시 keyboardEvent.repeat = true로 됨.
  2. 키가 의미있는 글자를 발생시킨다면, beforeinput과 input이벤트가 차례로 발생한다. 
  3. 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
    'Language/JS' 카테고리의 다른 글
    • [Javascript] this 바인딩 규칙
    • [Javascript] 자바스크립트 문자열 뒤집기
    • [Javascript] 디바운싱과 쓰로틀링 / 연속 이벤트 제어
    • [Javascript] Map 사용법
    개발하는 사막여우
    개발하는 사막여우
    개발개발 주저리주저리

    티스토리툴바