onkeyup,onkeydown和onkeypress区别

来源:互联网 发布:windows 8.1怎么激活 编辑:程序博客网 时间:2024/05/17 20:56


一、含义


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

 


二、onkeyup,onkeydown和onkeypress区别

 

1、三个事件执行顺序onkeydown ->onkeypress -> onkeyup


2、onkeypress仅能响应数字和字母键,不能对系统功能键进行捕获,而onkeydown和onkeyup事件均可对系统功能键进行响应。


3、onkeypress与另外onkeydown和onkeyup事件所使用的keycode不相同,而且onkeypress事件区分字母大小写但不区分主键盘数字键和小键盘数字键。


4、IE和火狐对这三个事件的处理不同

在IE中,键盘事件的event对象中包含一个keyCode属性,当为keydown和keyup 事件是,keycode属性表示你具体按下的键(也称为virtual keycode),当捕捉的是keypress事件时keyCode属性指的是你键入的字符(character code)  。

在firefox中情况有些不同,event对象包含一个keyCode属性和一个charCode属性,keydown和keyup事件的时候,keyCode表示的就是你具体按的键,charCode为0;当捕捉的是keypress事件时,keyCode为0,charCode指的是你按下的字符。


5、onkeypress 可被理解是被按着的那种状态是keydown 触发造成,keyup 就是弹起来了,释放了。点 onkeypress 时,其实输入的任务还没有完成,所以在此刻打印出来的输入数据时不包含你手上按下的这个键的,所以在这个过程里侦听输入框里的字符数是不可取的。因此做搜索建议suggest时应该选用onkeyup。



文章转载自: onkeyup,onkeydown和onkeypress    http://www.studyofnet.com/news/692.html


0 0
原创粉丝点击