`

Javascript 检测键盘按键

 
阅读更多

Javascript中 有3个事件句柄在对应键盘的输入状态:keydown、keypress和keyup。
分别对应的意思是:按键被按下(按下按键但还没有抬起)、点击按键(按下并抬起按键)、按键抬起(按键抬起之后)

按键的分类

按键可以分为“实键”和“虚键”
实键可以理解为我们能够看到并打印出来的按键,如字母“A”、数字“1”、字符“?”等等
虚键就是那些无法打印出来起到控制作用的按键,如“Ctrl”、“Alt”、“Shift”、“方向键”等等
IE在处理虚键时有个特例:虚键不会产生keypress事件,必须使用keydown或keyup来捕获

按键码和字符码

按键码是计算机用来识别不同按键的编码,每一个按键都有按键码
字符码是可被打印的实键特有的,对应了键盘上显示的字符
按键码可以使用String.fromCharCode()转换为字符码
按键码和和字符码的对应表可以在本文最后找到。

获取实键

function getKeyCode(e) {
var keyCode = 0;
var e = e || window.event;
keyCode = e.keyCode || e.which || e.charCode;
alert(keyCode);
}

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

 

获取虚键

function getKeyCode(e) {
var keyCode = 0;
var e = e || window.event;
if (e.ctrlKey) alert("ctrlKey pressed");
if (e.altKey) alert("altKey pressed");
if (e.shiftKey) alert("shiftKey pressed");
}
字母和数字键的键码值(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 Right Arrow 39 -_ 189
Tab 9 Spacebar 32 Dw Arrow 40 .> 190
Clear 12 Page Up 33 Insert 45 /? 191
Enter 13 Page Down 34 Delete 46 `~ 192
Shift 16 End 35 Num Lock 144 [{ 219
Control 17 Home 36 ;: 186 \| 220
Alt 18 Left Arrow 37 =+ 187 ]} 221
Cape Lock 20 Up Arrow 38 ,< 188 '" 222

 


多媒体键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
音量加 175            
音量减 174            
停止 179            
静音 173            
浏览器 172            
邮件 180            
搜索 170            
收藏 171
分享到:
评论

相关推荐

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

    Javascript中有3个事件句柄在对应键盘的输入状态:keydown、keypress和keyup。 分别对应的意思是:按键被按下(按下按键但还没有抬起)、点击按键(按下并抬起按键)、按键抬起(按键抬起之后) 按键的分类 按键可以...

    检测键盘按键

    使用javascript检测键盘按钮,并显示对应的编码

    javascript经典特效---检测键盘的按键.rar

    检测键盘的按键.rar

    JavaScript Event学习第十一章 按键的检测

    第一个问题是对于按键事件来说根本就没有标准,按照规范说的:包含键盘等输入设备的事件模型会在以后的DOM规范中作出解释。 正如我们了解到的,浏览器在最开始设计的时候并没有一个标准,大家都像做实验似的,最后的...

    精通javascript

    • 10.4.htm 接收键盘输入 • 10.5.htm 用鼠标点亮文本 • 10.6.htm 图片跟随鼠标 • 10.7.htm 文字跟随鼠标 • 10.8.htm 星星跟随鼠标 • 10.9.htm 鼠标感应 弹出...

    精通JavaScript

    • 10.4.htm 接收键盘输入 • 10.5.htm 用鼠标点亮文本 • 10.6.htm 图片跟随鼠标 • 10.7.htm 文字跟随鼠标 • 10.8.htm 星星跟随鼠标 • 10.9.htm 鼠标感应 弹出...

    按键盘方向键翻页跳转的javascript代码(支持ie,firefox)

    按键盘方向键即可翻页跳转,时间上就是利用了event.keyCode,按键检测,大家可以可以参考下。

    JavaScript实用范例词典04-14

    4.8 检测浏览器是否关闭了Cookie 功能... 105 第5章 视窗篇.... 106 5.1 警告对话框... 106 5.2 在警告对话框上显示多行消息 正文... 106 5.3 确认对话框... 107 5.4 输入对话框... 108 5.5 显示网页对话框....

    全民飞机大战游戏代码-haiyong.site.zip

    JavaScript:作为游戏的逻辑控制核心,使用JavaScript可以实现游戏中的各种功能,如碰撞检测、分数计算、敌人生成等。 CSS3:用于美化游戏界面,提供更好的用户体验。通过CSS3可以实现动画效果、背景图片等。 ...

    JavaScript高级教程

    第 1 章 JavaScript 是什么...............................................1 3 1.1 历史简述..............................................1 1.2 JavaScript 实现................................................

    use-key-hook:React钩子可处理所有按键

    这是一个React钩子,可检测键盘上的全部或某些键。 如果要检测少量键并执行功能,则可以在数组中提供ASCII码或键的列表。 用例的几个例子: 在您的应用中添加键盘快捷键 按下退出键关闭模态 如果是音乐播放器,请...

    keyscannerjs:一个库,用于检测来自外部设备(例如条形码扫描仪)的自动键盘事件

    按键扫描器 概述 KeyScanner是一个库,它允许从条形码机或其他类似设备(例如带有条形码扫描仪的移动设备)读取输入事件,并将它们与正常的用户击键区分开。 如果您专注于文本字段,则所有条形码扫描仪都可以将文本...

    tf2-botcheck:通过虚拟按键与TF2交互的命令行工具,以检测已知的命名漫游器和劫持漫游器(复制现有玩家名称的漫游器)

    请记住,由于此脚本是通过虚拟按键与TF2控制台交互的,因此在脚本运行时,请勿按下任何键盘键(也不要单击鼠标)。待办事项(不分先后) 用于配置TF2控制台密钥和控制台日志文件路径的设置自动更新机器人列表与TF2...

    JavaScript 学习笔记(十六) js事件

    事件对象里的属性和方法,主要是鼠标和键盘的信息。 1. 获取事件类型 事件对象属性type 2. 获取按键代码 事件对象属性keyCode:回车为13,空格为32,后退键为8 3. 检测Shift、Alt、Ctrl键 事件对象属性是否被按下:...

    Ajax完全自学手册PPT和源代码(ptt格式)

    CheckAlt&Shift&Ctrl.htm 检测Shift、Ctrl、Alt按键 CheckScreenX&Y.htm 获取客户端鼠标指针屏幕坐标 StopContextMenu.htm IE禁用右键菜单 IE cancel Bubble.htm IE中停止事件的多次响应 Dom stop event flow....

    Ajax完全自学手册(PPT)

    CheckAlt&Shift&Ctrl.htm 检测Shift、Ctrl、Alt按键 CheckScreenX&Y.htm 获取客户端鼠标指针屏幕坐标 StopContextMenu.htm IE禁用右键菜单 IE cancel Bubble.htm IE中停止事件的多次响应 Dom stop event ...

    angularLib:angular为基础的一些组件

    angularLib angular为基础的一些指令或provider ...keydown: 键盘按键指令,需要在属性上指定key-code(默认13 enter键),可以指定在任意元素上(已添加tab-index) mousewheel: 鼠标滚轮指令,做了

    Ajax完全自学手册(源代码).rar

    CheckAlt&Shift&Ctrl.htm 检测Shift、Ctrl、Alt按键 CheckScreenX&Y.htm 获取客户端鼠标指针屏幕坐标 StopContextMenu.htm IE禁用右键菜单 IE cancel Bubble.htm IE中停止事件的多次响应 Dom stop event ...

    asp.net学习积累的代码段

    获取键盘上任意按键的值.txt 获取客户端的IP地址.txt 获取鼠标位置.txt 获取随机数.txt 获取文件的路径等信息.txt 加入按纽代码.txt 检测客户端显示器分辨率、浏览器类型和客户端IP.txt 框架用法.txt 判断用户是否...

Global site tag (gtag.js) - Google Analytics