ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • keyboard events: keyCode
    공부방/JavaScript 2017. 3. 16. 18:00

    자바스크립트로 키보드 이벤트 발생 시의 keycode를 확인하는 방법은:

    <form>
      <input type="text" name="title"/>
    </form>
     
    <script>
      document.getElementsByName("title")[0].onkeydown = function(event) { 
        console.log('keydown - keyCode : ' + event.keyCode);
        console.log('keydown - which : ' + event.which);
      };
        
      document.getElementsByName("title")[0].onkeypress = function(event) { 
        console.log('keypress - keyCode : ' + event.keyCode);
        console.log('keypress - which : ' + event.which);
      };
    </script>
    cs
    <script>
      function keycheck(event){
        var keyCode = event.keyCode ? event.keyCode : event.which;
        // keyCode가 0이면 which 리턴
        
        // 혹은
        keyCode = event.keyCode || which;
     
        console.log(keyCode);
      }
    </script>
     
    <input type="text" onkeypress="keycheck(event)"/>
    cs

    파이어폭스는 keypress 이벤트 시 event.keyCode로 0을 리턴하기 때문에 event.which에서 받아와야한다. 이 외에도 크롬에서는 키보드 function 키가 (F1, F2...) keypress 시 키값을 받을 수 없다던지... 등의 문제가 있으니 이벤트 객체가 각 브라우저별로 입력된 키값을 어떤 방식으로 처리하는지 반드시 확인할 필요가 있다.

    참고로 jQuery는 다음처럼 확인한다:

    $('input').on('keydown'function(event) {
        console.log(event.keyCode);
    });
    cs


    KeyCode Reference Table

    표 출처 - https://lael.be/55

    ※ keydown 이벤트 발생 시의 keyCode이며 keypress의 경우 얻는 값이 다를 수 있으니 주의할 것.

    0 10 20Caps Lock30 40Arrow Down
    1 11 21 31 41 
    2 12 22 32 42 
    3 13Enter23 33Page Up43 
    4 14 24 34Page Down44 
    5 15 25 35End45Insert
    6 16Shift26 36Home46Delete
    7 17Ctrl27Esc37Arrow Left47 
    8Backspace18Alt28 38Arrow Up480
    9Tab19Pause/Break29 39Arrow Right491
     
    50260 70f80p90z
    51361=+71g81q91Windows
    52462 72h82r92 
    53563 73i83s93Right Click
    54664 74j84t94 
    55765a75k85u95 
    56866b76l86v960 (Num Lock)
    57967c77m87w971 (Num Lock)
    58 68d78n88x982 (Num Lock)
    59;:69e79o89y993 (Num Lock)
    1004 (Num Lock)110. (Num Lock)120F9130 140 
    1015 (Num Lock)111/ (Num Lock)121F10131 141 
    1026 (Num Lock)112F1122F11132 142 
    1037 (Num Lock)113F2123F12133 143 
    1048 (Num Lock)114F3124 134 144Num Lock
    1059 (Num Lock)115F4125 135 145Scroll Lock
    106* (Num Lock)116F5126 136 146 
    107+ (Num Lock)117F6127 137 147 
    108 118F7128 138 148 
    109- (Num Lock)119F8129 139 149 
    150 160 170 180 190.>
    151 161 171 181 191/?
    152 162 172 182My Computer192`~
    153 163 173 183My Calculator193 
    154 164 174 184 194 
    155 165 175 185 195 
    156 166 176 186 196 
    157 167 177 187 197 
    158 168 178 188,<198 
    159 169 179 189 199 
    200 210 220\|230 240 
    201 211 221]}231 241 
    202 212 222'"232 242 
    203 213 223 233 243 
    204 214 224 234 244 
    205 215 225 235 245 
    206 216 226 236 246 
    207 217 227 227 227 
    208 218 228 238 248 
    209 219[{229 239 249 


    출처 : http://noritersand.tistory.com/224

Designed by Tistory.