keypress 、keydown、keyup後觸發回車
阿新 • • 發佈:2018-06-28
後退 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> functionenterPress(){ var e = event || window.event; if(e.keyCode==13){ console.log("觸發回車") } } </script> </body> </html>
在html中同時用到了keypress與keydown,由於fireFox均接受回車事件,為了使其只運行一次,則任意的一個事件內傳入event,另一個不傳參數,fireFox就會只執行一次
keypress 、keydown、keyup後觸發回車