keypress 、keydown、keyup后触发回车

时间:2023-03-09 16:09:57
keypress 、keydown、keyup后触发回车

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就会只执行一次