js获取及判断键盘按键的方法


Posted in Javascript onDecember 01, 2015

本文实例讲述了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
B
0X66  V
 0X86
C
0X67  W
 0X87
D
0X68  X 
0X88
E
0X69  Y
 0X89
F
0X70  Z
 0X90
G
0X71  0
 0X48
H
0X72  1
 0X49
I
0X73  2
 0X50
J
0X74  3 
0X51
K
0X75  4 
0X52
L
0X76  5 
0X53
M
0X77  6
 0X54
N
0X78  7 
0X55
O
0X79  8 
0X56
P
0X80  9 
0X57
Q
0X81 ESC
0X1B
R
0X82 CTRL  0X11
S
0X83 SHIFT 0X10
T
0X84 ENTER 0XD

如果要使用组合键,则可以判断是否同时按下了这几个键,比如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程序设计有所帮助。

Javascript 相关文章推荐
超轻量级的基于jquery的三级展开列表
Apr 26 Javascript
jquery文字上下滚动的实现方法
Mar 22 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
Jun 03 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
Dec 19 Javascript
jQuery中的jQuery()方法用法分析
Dec 27 Javascript
JavaScript中的Function函数
Aug 27 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
Dec 24 Javascript
js实现小星星游戏
Mar 23 Javascript
基于原生js实现九宫格算法代码实例
Jul 03 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
Oct 27 Javascript
JavaScript实现图片合成下载的示例
Nov 19 Javascript
通过实例解析js可枚举属性与不可枚举属性
Dec 02 Javascript
Eclipse引入jquery报错如何解决
Dec 01 #Javascript
JS验证邮件地址格式方法小结
Dec 01 #Javascript
基于JavaScript操作DOM常用的API小结
Dec 01 #Javascript
常见JS验证脚本汇总
Dec 01 #Javascript
详解JavaScript函数
Dec 01 #Javascript
javascript定义类和类的实现实例详解
Dec 01 #Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
Dec 01 #Javascript
You might like
PHP session有效期session.gc_maxlifetime
2011/04/20 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
Linux下php5.4启动脚本
2014/08/03 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
javascript 动态添加表格行
2006/06/22 Javascript
javascript 学习之旅 (3)
2009/02/05 Javascript
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
原生js仿jquery animate动画效果
2016/07/13 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
谈谈vue中mixin的一点理解
2017/12/12 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
BootStrap modal实现拖拽功能
2018/12/01 Javascript
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
[01:03:03]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
理解python多线程(python多线程简明教程)
2014/06/09 Python
Python文本相似性计算之编辑距离详解
2016/11/28 Python
Django model 中设置联合约束和联合索引的方法
2019/08/06 Python
浅析python中while循环和for循环
2019/11/19 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
AOP的定义以及作用
2013/09/08 面试题
电子商务专业实习生自我鉴定
2013/09/24 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
见习报告怎么写
2014/10/31 职场文书
深度学习小工程练习之垃圾分类详解
2021/04/14 Python
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA