这篇文章主要介绍了 js 获取及判断键盘按键的方法, 涉及 JavaScript 键盘事件的获取及键值的判定技巧, 具有一定参考借鉴价值, 需要的朋友可以参考下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本文实例讲述了 js 获取及判断键盘按键的方法。分享给大家供大家参考,具体如下:
js 里面的键盘事件经常用到,所以收集了键盘事件对应的键码来分享下:
- keyCode 8 = BackSpace BackSpace
- keyCode 9 = Tab Tab
- keyCode 12 = Clear
- keyCode 13 = Enter
- keyCode 16 = Shift_L
- keyCode 17 = Control_L
- keyCode 18 = Alt_L
- keyCode 19 = Pause
- keyCode 20 = Caps_Lock
- keyCode 27 = Escape Escape
- keyCode 32 = space
- keyCode 33 = Prior
- keyCode 34 = Next
- keyCode 35 = End
- keyCode 36 = Home
- keyCode 37 = Left
- keyCode 38 = Up
- keyCode 39 = Right
- keyCode 40 = Down
- keyCode 41 = Select
- keyCode 42 = Print
- keyCode 43 = Execute
- keyCode 45 = Insert
- keyCode 46 = Delete
- keyCode 47 = Help
- keyCode 48 = 0 equal braceright
- keyCode 49 = 1 exclam onesuperior
- keyCode 50 = 2 quotedbl twosuperior
- keyCode 51 = 3 section threesuperior
- keyCode 52 = 4 dollar
- keyCode 53 = 5 percent
- keyCode 54 = 6 ampersand
- keyCode 55 = 7 slash braceleft
- keyCode 56 = 8 parenleft bracketleft
- keyCode 57 = 9 parenright bracketright
- keyCode 65 = a A
- keyCode 66 = b B
- keyCode 67 = c C
- keyCode 68 = d D
- keyCode 69 = e E EuroSign
- keyCode 70 = f F
- keyCode 71 = g G
- keyCode 72 = h H
- keyCode 73 = i I
- keyCode 74 = j J
- keyCode 75 = k K
- keyCode 76 = l L
- keyCode 77 = m M mu
- keyCode 78 = n N
- keyCode 79 = o O
- keyCode 80 = p P
- keyCode 81 = q Q at
- keyCode 82 = r R
- keyCode 83 = s S
- keyCode 84 = t T
- keyCode 85 = u U
- keyCode 86 = v V
- keyCode 87 = w W
- keyCode 88 = x X
- keyCode 89 = y Y
- keyCode 90 = z Z
- keyCode 96 = KP_0 KP_0
- keyCode 97 = KP_1 KP_1
- keyCode 98 = KP_2 KP_2
- keyCode 99 = KP_3 KP_3
- keyCode 100 = KP_4 KP_4
- keyCode 101 = KP_5 KP_5
- keyCode 102 = KP_6 KP_6
- keyCode 103 = KP_7 KP_7
- keyCode 104 = KP_8 KP_8
- keyCode 105 = KP_9 KP_9
- keyCode 106 = KP_Multiply KP_Multiply
- keyCode 107 = KP_Add KP_Add
- keyCode 108 = KP_Separator KP_Separator
- keyCode 109 = KP_Subtract KP_Subtract
- keyCode 110 = KP_Decimal KP_Decimal
- keyCode 111 = KP_Divide KP_Divide
- keyCode 112 = F1
- keyCode 113 = F2
- keyCode 114 = F3
- keyCode 115 = F4
- keyCode 116 = F5
- keyCode 117 = F6
- keyCode 118 = F7
- keyCode 119 = F8
- keyCode 120 = F9
- keyCode 121 = F10
- keyCode 122 = F11
- keyCode 123 = F12
- keyCode 124 = F13
- keyCode 125 = F14
- keyCode 126 = F15
- keyCode 127 = F16
- keyCode 128 = F17
- keyCode 129 = F18
- keyCode 130 = F19
- keyCode 131 = F20
- keyCode 132 = F21
- keyCode 133 = F22
- keyCode 134 = F23
- keyCode 135 = F24
- keyCode 136 = Num_Lock
- keyCode 137 = Scroll_Lock
- keyCode 187 = acute grave
- keyCode 188 = comma semicolon
- keyCode 189 = minus underscore
- keyCode 190 = period colon
- keyCode 192 = numbersign apostrophe
- keyCode 210 = plusminus hyphen macron
- keyCode 211 =
- keyCode 212 = copyright registered
- keyCode 213 = guillemotleft guillemotright
- keyCode 214 = masculine ordfeminine
- keyCode 215 = ae AE
- keyCode 216 = cent yen
- keyCode 217 = questiondown exclamdown
- keyCode 218 = onequarter onehalf threequarters
- keyCode 220 = less greater bar
- keyCode 221 = plus asterisk asciitilde
- keyCode 227 = multiply division
- keyCode 228 = acircumflex Acircumflex
- keyCode 229 = ecircumflex Ecircumflex
- keyCode 230 = icircumflex Icircumflex
- keyCode 231 = ocircumflex Ocircumflex
- keyCode 232 = ucircumflex Ucircumflex
- keyCode 233 = ntilde Ntilde
- keyCode 234 = yacute Yacute
- keyCode 235 = oslash Ooblique
- keyCode 236 = aring Aring
- keyCode 237 = ccedilla Ccedilla
- keyCode 238 = thorn THORN
- keyCode 239 = eth ETH
- keyCode 240 = diaeresis cedilla currency
- keyCode 241 = agrave Agrave atilde Atilde
- keyCode 242 = egrave Egrave
- keyCode 243 = igrave Igrave
- keyCode 244 = ograve Ograve otilde Otilde
- keyCode 245 = ugrave Ugrave
- keyCode 246 = adiaeresis Adiaeresis
- keyCode 247 = ediaeresis Ediaeresis
- keyCode 248 = idiaeresis Idiaeresis
- keyCode 249 = odiaeresis Odiaeresis
- keyCode 250 = udiaeresis Udiaeresis
- keyCode 251 = ssharp question backslash
- keyCode 252 = asciicircum degree
- keyCode 253 = 3 sterling
- keyCode 254 = Mode_switch
使用 event 对象的 keyCode 属性判断输入的键值
eg:
- if(event.keyCode==13)alert("enter!");
键值对应表
- A0X65 U 0X85
- B0X66 V 0X86
- C0X67 W 0X87
- D0X68 X 0X88
- E0X69 Y 0X89
- F0X70 Z 0X90
- G0X71 0 0X48
- H0X72 1 0X49
- I0X73 2 0X50
- J0X74 3 0X51
- K0X75 4 0X52
- L0X76 5 0X53
- M0X77 6 0X54
- N0X78 7 0X55
- O0X79 8 0X56
- P0X80 9 0X57
- Q0X81ESC0X1B
- R0X82CTRL 0X11
- S0X83SHIFT0X10
- T0X84ENTER0XD
如果要使用组合键,则可以判断是否同时按下了这几个键,比如 ctrl 键、shift 键以及 alt 键的组合使用就可以判断是否多按下了 ctrl 键、shift 键以及 alt 键
js 获取键盘事件:
- <script type="text/javascript" language=JavaScript charset="UTF-8">
- document.onkeydown=function(event){
- var e = event || window.event || arguments.callee.caller.arguments[0];
- if(e && e.keyCode==27){ // 按 Esc
- //要做的事情
- }
- if(e && e.keyCode==113){ // 按 F2
- //要做的事情
- }
- if(e && e.keyCode==13){ // enter 键
- //要做的事情
- }
- };
- </script>
只要你定义了这些键的动作,你在浏览器里按下这些键就会响应,兼容目前所有浏览器。
JS 判断键盘按键
- window.document.onkeydown = disableRefresh;
- function disableRefresh(evt){
- evt = (evt) ? evt : window.event
- if (evt.keyCode) {
- if(evt.keyCode == 116){
- //do something
- }
- }
- }
键码同上例所示。
使用 event 对象的 keyCode 属性判断输入的键值
eg:
- if(event.keyCode==13){
- var ieKey=event.keyCode;//获得键值,数字形式的
- var realkey=String.fromCharCode(ieKey) //将数字形式的键值转化为真实的按键
- alert(realkey);
- }
键值对应表同上例所示
希望本文所述对大家 JavaScript 程序设计有所帮助。
来源: