一、首先需要知道的是:
1、keydown()
keydown事件会在键盘按下时触发.
2、keyup()
keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件
3、keypress()
keypress事件会在敲击按键时触发,我们可以理解为按下并抬起同一个按键
二、获得键盘上对应的ascII码:
$(document).keydown(function(event){
alert(event.keyCode);
});
$tips: 上面例子中,event.keyCode就可以帮助我们获取到我们按下了键盘上的什么按键,他返回的是ascII码,比如说上下左右键,分别是38,40,37,39;
一开始用的是keypress,可这个在chrome下面的时候不起作用,后来用keyup来做就可以了,jquery中获取键盘按键,可以使用which属性来获取按键的值,但是,不是所有的按键事件都能被捕获到其按键值(keyup,keypress,keydown),经过测试,只有keyup事件才能在够被几乎所有的浏览器捕获按键值,keydown在IE6中不起作用。
测试浏览器:IE6/IE7/IE8,FireFox,Chrome,Opera
$(document).keyup(function(e){
var key = e.which;
if(key == 27){
alert(‘按下了ESC键,关闭弹出层‘);
}
});
或者(这个只在:IE8,FireFox,Chrome测试过)
$(document).keyup(function(e){
if (e.keyCode == 27)
{
alert(‘按下了ESC键,关闭弹出层‘);
}
})