zl程序教程

您现在的位置是:首页 >  前端

当前栏目

Javascript检测键盘按键信息及键码值对应介绍

JavaScript 介绍 信息 检测 键盘 对应 按键
2023-06-13 09:14:43 时间
Javascript中有3个事件句柄在对应键盘的输入状态:keydown、keypress和keyup。
分别对应的意思是:按键被按下(按下按键但还没有抬起)、点击按键(按下并抬起按键)、按键抬起(按键抬起之后)
按键的分类
按键可以分为“实键”和“虚键”
实键可以理解为我们能够看到并打印出来的按键,如字母“A”、数字“1”、字符“?”等等
虚键就是那些无法打印出来起到控制作用的按键,如“Ctrl”、“Alt”、“Shift”、“方向键”等等
IE在处理虚键时有个特例:虚键不会产生keypress事件,必须使用keydown或keyup来捕获
按键码和字符码
按键码是计算机用来识别不同按键的编码,每一个按键都有按键码
字符码是可被打印的实键特有的,对应了键盘上显示的字符
按键码可以使用String.fromCharCode()转换为字符码
按键码和和字符码的对应表可以在本文最后找到。
获取实键
复制代码代码如下:

functiongetKeyCode(e){
varkeyCode=0;
vare=e||window.event;
keyCode=e.keyCode||e.which||e.charCode;
alert(keyCode);
}

稍微解释下
1.e为Firefox等标准浏览器支持的JS隐藏变量,表示一个“事件”;IE系列中没有“e”,而是用window.event来表示“事件”;所以vare=e||window.event;就表示:获取当前正在发生的事件。
2.e.keyCode、e.which、e.charCode都代表获取按键码,但不同的浏览器支持不同的写法
获取虚键
复制代码代码如下:

functiongetKeyCode(e){
varkeyCode=0;
vare=e||window.event;
if(e.ctrlKey)alert("ctrlKeypressed");
if(e.altKey)alert("altKeypressed");
if(e.shiftKey)alert("shiftKeypressed");
}

字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 K 75 T 84 2 50 C 67 L 76 U 85 3 51 D 68 M 77 V 86 4 52 E 69 N 78 W 87 5 53 F 70 O 79 X 88 6 54 G 71 P 80 Y 89 7 55 H 72 Q 81 Z 90 8 56 I 73 R 82 0 48 9 57
  

数字键盘上的键的键码值(keyCode) 功能键键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 0 96 8 104 F1 112 F7 118 1 97 9 105 F2 113 F8 119 2 98 * 106 F3 114 F9 120 3 99 + 107 F4 115 F10 121 4 100 Enter 108 F5 116 F11 122 5 101 - 109 F6 117 F12 123 6 102 . 110         7 103 / 111           

控制键键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 BackSpace 8 Esc 27 RightArrow 39 -_ 189 Tab 9 Spacebar 32 DwArrow 40 .> 190 Clear 12 PageUp 33 Insert 45 /? 191 Enter 13 PageDown 34 Delete 46 `~ 192 Shift 16 End 35 NumLock 144 [{ 219 Control 17 Home 36 ;: 186 \| 220 Alt 18 LeftArrow 37 =+ 187 ]} 221 CapeLock 20 UpArrow 38 ,< 188 "" 222 多媒体键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 音量加 175             音量减 174             停止 179             静音 173             浏览器 172             邮件 180             搜索 170             收藏 171