手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >onkeyup,onkeydown和onkeypress的区别介绍
onkeyup,onkeydown和onkeypress的区别介绍
摘要:msdn上有三者的区别:名称说明onkeypress这个事件在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识...

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则是输入流被系统处理后发生的。

【onkeyup,onkeydown和onkeypress的区别介绍】相关文章:

MSN消息提示类

JavaScript TO HTML 转换

让焦点自动跳转

Java语言概述

JavaScript每天定时更换皮肤样式的方法

javascript自定义右键弹出菜单实现方法

文本加密解密

nodejs实现获取某宝商品分类

详解JavaScript中的表单验证

JS和css实现检测移动设备方向的变化并判断横竖屏幕

精品推荐
分类导航