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