`

js键盘响应事件代码的编写方法

 
阅读更多

如果我们需要在网页上使用键盘的某些键作为快捷键(比较典型的是收银台使用F1~F9),那么我们需要写网页的键盘响应事件。

如果要做到只要网页获取了鼠标焦点(鼠标滚轮滚动网页能上下滚动时就是获取焦点状态,否则不是),就可以响应键盘时间,那么我们只要针对document绑定鼠标事件即可。

但如果只是针对某个input或textarea响应键盘事件,那么要将键盘事件绑定到该dom元素上。绑定方法如下:

js原生:

 

	document.onkeydown = function(e) {
		var keyCode   = e.keyCode || e.which;
		var ctrlDown  = e.ctrlKey;
		var shiftDown = e.shiftKey;
		var altDown   = e.altKey;
		if (ctrlDown && keyCode == 13) {
			console.log('您按下了Ctrl+Enter键');
		}
	};

或者:

 

使用jquery:

 

	$(document).keydown(function(e) {
		var keyCode   = e.keyCode || e.which;
		var ctrlDown  = e.ctrlKey;
		var shiftDown = e.shiftKey;
		var altDown   = e.altKey;
		if (ctrlDown && keyCode == 13) {
			console.log('您按下了Ctrl+Enter键');
		}
	});

 

 

注意一下:Firfirefox2.0中不支持 window.event.keyCode,

但是我们可以用event.which代替。但是为了使其能更具有普遍的兼容性,最好用event.keyCode|| event.which。当然Firfirefox2.0早已成为历史,所以键盘事件怎么写兼容性都是很好的。

 

键盘代码表如下:

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

 

写道
数字按键码
数字键盘 1 <--------> 96 数字键盘 2 <--------> 97 数字键盘 3 <--------> 98
数字键盘 4 <--------> 99 数字键盘 5 <--------> 100 数字键盘 6 <--------> 101
数字键盘 7 <--------> 102 数字键盘 8 <--------> 103 数字键盘 9 <--------> 104
数字键盘 0 <--------> 105

 

写道
运算符按键码
乘号 <--------> 106 加号 <--------> 107 Enter <--------> 108 减号 <--------> 109
小数点 <--------> 110 除号 <--------> 111

 

写道
F1 <--------> 112 F2 <--------> 113 F3 <--------> 114 F4 <--------> 115
F5 <--------> 116 F6 <--------> 117 F7 <--------> 118 F8 <--------> 119
F9 <--------> 120 F10 <--------> 121 F11 <--------> 122 F12 <--------> 123
F13 <--------> 124 F14 <--------> 125 F15 <--------> 126
Backspace <--------> 8
Tab <--------> 9
Clear <--------> 12
Enter <--------> 13
Shift <--------> 16
Control <--------> 17
Alt <--------> 18
Caps Lock <--------> 20
Esc <--------> 27
空格键 <--------> 32
Page Up <--------> 33
Page Down <--------> 34
End <--------> 35
Home <--------> 36
左箭头 <--------> 37
向上箭头 <--------> 38
右箭头 <--------> 39
向下箭头 <--------> 40
Insert <--------> 45
Delete <--------> 46
Help <--------> 47
Num Lock <--------> 144
; : <--------> 186
= + <--------> 187
- _ <--------> 189
/ ? <--------> 191
` ~ <--------> 192
[ { <--------> 219
| <--------> 220
] } <--------> 221
'' ' <--------> 222

 

 

 

 

 

分享到:
评论

相关推荐

    JavaScript实现连连看游戏

    游戏介绍:采用HTML(非HTML5)、CSS、JavaScript编写,网页上部为砖块,下部为挡板。开始后球从挡板中间斜向上移动碰撞墙壁和砖块,碰到砖块后砖块消失。通过键盘的左右键移动位于底部的挡板接球。小球击中砖块后有...

    javascript完全学习手册1 源码

    1.4 编写JavaScript的工具 11 1.4.1 使用纯文本编辑器 11 1.4.2 使用专业化脚本编辑工具 13 1.4.3 使用Microsoft脚本编辑器 15 第2章 JavaScript编程基础 19 2.1 基础语法 19 2.1.1 数据类型 19 2.1.2 变量和常量 22...

    javascript完全学习手册2 源码

    1.4 编写JavaScript的工具 1.4.1 使用纯文本编辑器 1.4.2 使用专业化脚本编辑工具 1.4.3 使用Microsoft脚本编辑器 第2章 JavaScript编程基础 2.1 基础语法 2.1.1 数据类型 2.1.2 变量和常量 2.1.3 ...

    客户端统一验证JavaScript函数库及示例源码

    ChkInputs.js应运而生,使用它不需要编写多少代码,只需对验证元素简单配置一下即可,使用方便,也不会影响页面的布局,并可以精确判断客户端输入框的长度、必填、数据类型(整数型、浮点型、字母型、数字字母混合型)...

    JAVA上百实例源码以及开源项目源代码

     Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法:  可直接输入文件名或网络地址,但必需事先连入网络。 Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,...

    JavaScript实战

    6.1.4 键盘事件 160 6.2 把函数和事件一起使用 161 6.2.1 内联事件 161 6.2.2 传统模型 162 6.2.3 现代方式 163 6.2.4 jQuery方式 164 6.3 教程:突出显示表格行 167 6.4 更多的jQuery事件概念 171 6.4.1 等待HTML...

    JAVA上百实例源码以及开源项目

     Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法:  可直接输入文件名或网络地址,但必需事先连入网络。 Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,...

    React事件系统实验室芝加哥网站82619

    在本实验中,您将响应React中的事件并编写事件处理程序。 注意:尚未定义组件,但是存在文件。 在测试运行之前,您必须从EyesOnMe.js和Keypad.js导出组件。 首先,编写非常基本的组件,您知道这些组件不会通过所有...

    React事件系统实验室v-000

    在本实验中,您将响应React中的事件并编写事件处理程序。 注意:尚未定义组件,但是存在文件。 在测试运行之前,您必须从EyesOnMe.js和Keypad.js导出组件。 首先,编写非常基本的组件,您知道这些组件不会通过所有...

    React事件系统实验室小飞象网060319

    React事件系统实验室概述在本实验中,您将响应React中的事件并编写事件处理程序。 注意:尚未定义组件,但是存在文件。 在测试运行之前,您必须从EyesOnMe.js和Keypad.js导出组件。 首先,编写非常基本的组件,您...

    React事件系统实验室在线web-ft-112618

    React事件系统实验室概述在本实验中,您将响应React中的事件并编写事件处理程序。 注意:尚未定义组件,但是存在文件。 在测试运行之前,您必须从EyesOnMe.js和Keypad.js导出组件。 首先,编写非常基本的组件,您...

    pm-carousel:使用JS编写的可访问轮播插件,无依赖项

    此处的示例: : 特征如果您尊重HTML标记,则可以完全访问键盘导航(键盘箭头,主键和结束键) 响应式轮播设置没有依赖香草JSHTML标记HTML顺序对于完全访问非常重要。 最小HTML以使用pm-carousel : &lt; div&gt; &lt; ...

    react-event-system-lab-cb-gh-000

    在本实验中,您将响应React中的事件并编写事件处理程序。 注意:尚未定义组件,但是存在文件。 在测试运行之前,您必须从EyesOnMe.js和Keypad.js导出组件。 首先,编写非常基本的组件,您知道它们不会通过所有测试...

    react-hooks-event-handling-lab

    React Lab中的事件处理概述在本实验中,您将响应React中的事件并编写事件处理程序。 注意:尚未定义组件,但是存在文件。 在测试运行之前,您必须从EyesOnMe.js和Keypad.js导出组件。 首先,编写非常基本的组件,您...

    react-event-system-lab-online-web-sp-000

    React事件系统实验室概述在本实验中,您将响应React中的事件并编写事件处理程序。 注意:尚未定义组件,但是存在文件。 在测试运行之前,您必须从EyesOnMe.js和Keypad.js导出组件。 首先,编写非常基本的组件,您...

    PsychScript:用于在线运行行为实验的 HTML5Javascript 库

    #PsychScript ... 例如,收集键盘响应,以前看起来像这样: var accepted_keys = new Array ( 'a' , 'b' , 'c' ) ; var response document . onkeydown = function ( event ) { var key = String . from

    Front-end-articles:分享我的编程经验和学习心得,订阅请点 watch

    前端文章三年前端路:分享我的工作经验与学习经历前端发展历程事件循环如何编写高质量代码栅格化系统的原理以及实现前端性能和错误监控ESlint + Stylelint + VSCode自动格式化代码(2020)移动端开发一些常见问题的...

    ActionScript开发人员指南中文版

    响应错误事件和状态 比较错误类 处理错误示例:CustomErrors应用程序 第章:使用正则表达式 正则表达式基础知识 正则表达式语法 对字符串使用正则表达式的方法 正则表达式示例:Wiki解析程序 第章:使用XML XML基础...

Global site tag (gtag.js) - Google Analytics