keydown、keypress、keyup的使用

来源:互联网 发布:淘宝基础版全屏店招 编辑:程序博客网 时间:2024/05/16 12:01

一、KeyDown、KeyPress 与 KeyUp发生顺序

keydown - > keypress - > keyup

二、事件引发的时间

KeyDown 和 KeyPress 事件在按下键时发生,KeyUp 事件在释放键时发生。

三、KeyDown 触发后,KeyUp是不是一定触发

KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动鼠标,那么将不会触发KeyUp事件。

四、KeyPress 和KeyDown 、KeyPress之间的区别

  1. KeyPress主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、小键盘等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键外的ANSI字符,keypress事件不能对系统功能键(例如:后退、删除等,其中对中文输入法不能有效响应)进行正常的响应
  2. KeyDown 和KeyUp 通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键)
  3. KeyPress 只能捕获单个字符
  4. KeyDown 和KeyUp 可以捕获组合键
  5. KeyPress 可以捕获单个字符的大小写
  6. KeyDown和KeyUp 对于单个字符捕获的KeyValue 都是一个值,也就是不能判断单个字符的大小写。
  7. KeyPress 不区分小键盘和主键盘的数字字符。
  8. KeyDown 和KeyUp 区分小键盘和主键盘的数字字符。
  9. 其中PrScrn 按键KeyPress、KeyDown和KeyUp 都不能捕获。
  10. 回车、上下左右、等功能键keydown、keypress、keyup都获取keyCode,并且值相等。
  11. keypress事件的keyCode对字母的大小写敏感,而keydown、keyup事件不敏感
  12. keypress事件的which值无法区分主键盘上的数字键和附键盘数字键的,而keydown、keyup的which值对主附键盘的数字键敏感。

参考:http://unixpapa.com/js/key.html

0 0
原创粉丝点击