onkeyup,onkeydown和onkeypress区别



一、含义


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


  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值