Js監聽鍵盤事件

表單提交的時候大多數用戶都習慣用回車鍵來進行提交,頁面接受回車鍵的處理以下:函數

注意: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對主付鍵盤的數字鍵敏感。 
相關文章
相關標籤/搜索