<html> <script> function checkForm(){ if(event.keyCode ==13){ event.keyCode =9; } } </script> <body> <form name ="form1"> <input type="text" name = "text1" onkeydown = "checkForm()"> <input type="button" name = "button1" value="按钮"> </form> </body> </html>
当按下回车时,焦点从文本框移到按钮上。如果把它换成“onkeypress”,焦点不会转移,也不会失去。但是如果换成“onkeyup”,则失去焦点,页面重新载入。msdn上有三者的区别:
名称 说明
onkeypress
这个事件在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。
onkeyup
这个事件在用户放开任何先前按下的键盘键时发生。
onkeydown
这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。
分析:
有键按下 -> 产生onKeyDown事件 -> 如果是有ASCII码的按键, 则产生onKeyPress事件
有键释放 -> 产生onKeyUp事件