msdn上有三者的区别:



名称 说明



onkeypress



这个事件在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。



onkeyup



这个事件在用户放开任何先前按下的键盘键时发生。



onkeydown



这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。



======================


复制代码

代码如下:


<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”,则失去焦点,页面重新载入。



测试发现onkeydown 事件最先执行,其次是onkeypress,最后是onkeyup;onkeydown 和onkeypress会影响onkeyup的执行。三个事件同事在的话,都是alert的话,只会弹出2个alert,up事件的alert不会弹出。



三者在事件的响应上还有一点不同,就是onkeydown 、onkeypress事件响应的时候输入的字符并没有被系统接受,而响应onkeyup的时候,输入流已经被系统接受。由于onkeydown 比onkeypress先执行,再根据上面的例子可以知道,onkeydown 触发的时候输入流正要进入系统,也就是说onkeydown 事件一完,输入流就进入了系统,无法改变。所以通过onkeydown 事件可以改变用户是按了哪个键;而onkeypress事件则是在输入流进入系统后触发的,但输入流暂未被系统处理,此时已经不能改变输入流了;onkeyup则是输入流被系统处理后发生的。

您可能感兴趣的文章:

  • jquery keypress,keyup,onpropertychange键盘事件
  • javascript KeyDown、KeyPress和KeyUp事件的区别与联系
  • javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
  • C# winform编程中响应回车键的实现代码
  • winform拦截关闭按钮触发的事件示例
  • winform 使用Anchor属性进行界面布局的方法详解
  • winform模拟鼠标按键的具体实现
  • C# WinForm程序完全退出的问题解决
  • 解决C# winForm自定义鼠标样式的两种实现方法详解
  • WinForm中KeyDown,KeyPress和KeyUp的顺序与区别解析