表單提交的時候大多數用戶都習慣用回車鍵來進行提交,頁面接受回車鍵的處理以下:函數
注意:spa
if(navigator.userAgent.indexOf("MSIE")>0) {
//IE document.onkeydown=function(){
if(13 == event.keyCode){
alert('browser is ie and enter key down');
}
} }else{
//非IE window.onkeydown=function(){
if(13 == event.keyCode){
alert('browser is not ie and enter key down');
}
} }
附經常使用功能鍵
值 描述
8 BACKSPACE 鍵
9 TAB 鍵
13 ENTER 鍵
16 SHIFT 鍵
17 CTRL 鍵
20 CAPS LOCK 鍵
27 ESC 鍵
32 SPACEBAR 鍵
33 PAGEUP 鍵
34 PAGEDOWN 鍵
35 END 鍵
42 PRINT SCREEN 鍵
46 DEL 鍵
144 NUM LOCK 鍵
判斷方法:
在填寫表單時,習慣性會按下回車鍵,這將致使表單提交,很很差,這裏介紹一個方法截獲它。
其實很簡單,只要在想截獲的區域增長Onkeydown事件函數,並在執行函數中寫下以下語句:
if (window.event.keyCode==13) window.event.keyCode=0
這樣就取消回車鍵了
若是想模擬Tab鍵,只要寫成
if (window.event.keyCode==13) window.event.keyCode=9
就好了,它會跳到另外一個元素上。
鍵盤事件:
名稱 說明
onkeypress
這個事件在用戶按下並放開任何字母數字鍵時發生。系統按鈕(例如,箭頭鍵和功能鍵)沒法獲得識別。
onkeyup
這個事件在用戶放開任何先前按下的鍵盤鍵時發生。
onkeydown
這個事件在用戶按下任何鍵盤鍵(包括系統按鈕,如箭頭鍵和功能鍵)時發生。
在使用JavaScript作WEB鍵盤事件偵聽捕獲時,主要採用onkeypress、onkeydown、onkeyup三個事件進行出來。該三個事件的執行順序以下:onkeydown -> onkeypress ->onkeyup。在通常狀況下,採用三種鍵盤事件都可對鍵盤輸入進行有效的響應。當在實際使用中,會發現這幾者有些不一樣的差異。
onkeypress事件不能對系統功能鍵(例如:後退、刪除等,其中對中文輸入法不能有效響應)進行正常的響應,onkeydown和onkeyup都可以對系統功能鍵進行有效的攔截,但事件截獲的位置不一樣,能夠根據具體的狀況選擇不一樣的鍵盤事件。
因爲onkeypress不能對系統功能鍵進行捕獲,致使window.event對象的keyCode屬性和onkeydown,onkeyup鍵盤事件中獲取的keyCode屬性不一樣,主要表如今onkeypress事件的keyCode對字母的大小寫敏感,而onkeydown、onkeyup事件不敏感;onkeypress事件的keyCode沒法區分主鍵盤上的數字鍵和付鍵盤數字鍵的,而onkeydown、onkeyup的keyCode對主付鍵盤的數字鍵敏感。