keypress keydownkeyup后触发回车

Posted lhyhappy65

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keypress keydownkeyup后触发回车相关的知识,希望对你有一定的参考价值。

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 keydownkeyup后触发回车的主要内容,如果未能解决你的问题,请参考以下文章

KeyDown,KeyPress 和KeyUp

js键盘相关知识总结

TextBox KeyPress事件不会触发

在 Android 手机中未触发 keyPress 事件

jQuery:keyPress Backspace 不会触发?

在 JS/jQuery 中触发 keypress/keydown/keyup 事件?