码迷,mamicode.com
首页 > Web开发 > 详细

JS监听键盘两个组合键的触发

时间:2016-03-23 13:02:38      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

*键盘事件的回调是document.onkeydown函数, 该函数会传入一个Event类型的参数
document.onkeydown = function(e) {
    //编写事件触发时候的回调函数
}

*Evnet事件的具体内容请见W3C文档, 样子是这样的:

 技术分享

具体的网址:

http://www.w3school.com.cn/jsref/dom_obj_event.asp

 

*实例应用

需求:当按下Ctrl+Enter键时触发saveComment方法

代码为:

document.onkeydown = function(e) {
	//console.log(e.ctrlKey);
	if (13 == e.keyCode && e.ctrlKey)
	{
		//console.log(c1);
		saveComment();
	}
}

分析:当ctrl按下时候, 方法被触发, 不松开ctrl键, 按下enter键, 方法再次被触发.

猜想:1)e的内部实现必然有一个数组用来存储按键的id, 也就是说哪怕有10个按钮同时按下, 也能同时识别.

          同时, 将每个按钮的对象的属性中有一个是否按下的属性, 如果按下就是true.

       2)同时, 按下ctrl后再按下enter不是简单的再次调用onkeydown函数, 而是保存了上一次onkeydown还没有完成的事件(ctrl键按下).

 

具体的实际应用请看我的这篇文章:

 

欢迎评论, 指导.

JS监听键盘两个组合键的触发

标签:

原文地址:http://www.cnblogs.com/anoper/p/5310533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!