1. 程式人生 > >keypress 、keydown、keyup後觸發回車

keypress 、keydown、keyup後觸發回車

後退 cti onkeydown scrip In pre title doc lang

1、keypress 、keydown、keyup的區別

keypress表示鍵盤按下的全過程,只有按下任意字母數字鍵(後退、刪除等系統功能鍵無效)時才觸發,捕獲到的keyCode區分大小寫

keydown表示鍵盤按下但還沒彈起之前觸發,即前半段觸發,按下任意鍵盤鍵均可觸發,捕獲到的keyCode不區分大小寫

keyup表示鍵盤按下後彈起的過程中觸發,即後半段觸發,按下任意鍵盤鍵均可觸發,捕獲到的keyCode不區分大小寫

事件的觸發順序 keydown -> keypress -> keyup

2、兼容性

ie6下onkeypress接受回車事件,keydown不接受

ie8下onkeypress不接受回車事件,onkeydown會接受

firefox中的onkeypress與onkeydown都接受回車事件

<!DOCTYPE html>  
<html lang="en">  
<head>  
 <meta charset="UTF-8">  
    <title>回車觸發事件</title>  
</head>
<body>
    <input id="inputBox" onkeydown="enterPress()" onkeydown="enterPress(event)"/>
     
    
    <script>
        function
enterPress(){ var e = event || window.event; if(e.keyCode==13){ console.log("觸發回車") } } </script> </body> </html>

在html中同時用到了keypress與keydown,由於fireFox均接受回車事件,為了使其只運行一次,則任意的一個事件內傳入event,另一個不傳參數,fireFox就會只執行一次

keypress 、keydown、keyup後觸發回車