一、首先需要知道的是:
1、keydown()
keydown事件會在鍵盤按下時觸發.
2、keyup()
keyup事件會在按鍵釋放時觸發,也就是你按下鍵盤起來後的事件
3、keypress()
keypress事件會在敲擊按鍵時觸發,我們可以理解為按下並抬起同一個按鍵
二、獲得鍵盤上對應的ascII碼:
$(document).keydown(function(event){
alert(event.keyCode);
});
提示: 上面例子中,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鍵,關閉彈出層');
}
})
下面是一個實例:
<script>
$(document).keyup(function(e){
alert("按鍵的keyCode是"+e.keyCode);
})
</script>
請按鍵盤