javascript KeyDown、KeyPress和KeyUp事件的区别与联系


Posted in Javascript onDecember 03, 2009

KeyDown:在控件有焦点的情况下按下键时发生。
KeyPress:在控件有焦点的情况下按下键时发生。
KeyUp:在控件有焦点的情况下释放键时发生。

1、KeyPress主要用来接收字母、数字等ANSI字符
KeyDown 和 KeyUP 事件过程通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键

2、KeyPress 只能捕获单个字符
KeyDown 和KeyUp 可以捕获组合键。

3、KeyPress 不显示键盘的物理状态(SHIFT键),而只是传递一个字符。KeyPress 将每个字符的大、小写形式作为不同的键代码解

释,即作为两种不同的字符。
KeyDown 和KeyUp 不能判断键值字母的大小。KeyDown 和 KeyUp 用两种参数解释每个字符的大写形式和小写形式:keycode — 显

示物理的键(将 A 和 a 作为同一个键返回)和 shift —指示 shift + key 键的状态而且返回 A 或 a 其中之一。

5、KeyPress 不区分小键盘和主键盘的数字字符。
KeyDown 和KeyUp 区分小键盘和主键盘的数字字符。

6、KeyDown、KeyUp事件是当按下 ( KeyDown ) 或松开 ( KeyUp ) 一个键时发生的。
由于一般按下键盘的键往往会立即放开(这和鼠标不同),所以这两个事件使用哪个差别不大。

而且,up和其他两者还有一个区别:要判断key修改后的状态必须用up。

Javascript 相关文章推荐
一段好玩的JavaScript代码
Dec 01 Javascript
javascript 静态对象和构造函数的使用和公私问题
Mar 02 Javascript
JS字符串截取函数实例
Dec 27 Javascript
js实现文本框支持加减运算的方法
Aug 19 Javascript
AngularJS 指令的交互详解及实例代码
Sep 14 Javascript
Bootstrap与Angularjs的模态框实例代码
Aug 03 Javascript
浅谈vue中数据双向绑定的实现原理
Sep 14 Javascript
javascript  删除select中的所有option的实例
Sep 17 Javascript
对angularJs中ng-style动态改变样式的实例讲解
Sep 30 Javascript
es6数值的扩展方法
Mar 11 Javascript
sharp.js安装过程中遇到的问题总结
Apr 02 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
Aug 07 Javascript
javascript json 新手入门文档
Dec 03 #Javascript
js 屏蔽鼠标右键脚本附破解方法
Dec 03 #Javascript
33种Javascript 表格排序控件收集
Dec 03 #Javascript
javascript 面向对象全新理练之原型继承
Dec 03 #Javascript
javascript 面向对象全新理练之继承与多态
Dec 03 #Javascript
javascript 面向对象全新理练之数据的封装
Dec 03 #Javascript
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
Dec 02 #Javascript
You might like
十天学会php(1)
2006/10/09 PHP
PHP与MySQL开发的8个技巧小结
2010/12/17 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
Jquery实现顶部弹出框特效
2015/08/08 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
2017/07/05 jQuery
JavaScript实现图片切换效果
2017/08/12 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
python使用wxPython打开并播放wav文件的方法
2015/04/24 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
意大利和国际奢侈品牌购物网站:Suitnegozi.com
2021/01/15 全球购物
UNIX文件系统常用命令
2012/05/25 面试题
电大学习个人自我评价范文
2013/10/04 职场文书
房产买卖委托公证书
2014/04/04 职场文书
运动会演讲稿
2014/05/07 职场文书
开工仪式策划方案
2014/05/23 职场文书
热情服务标语
2014/10/07 职场文书
党校学习党性分析材料
2014/12/19 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
装修安全责任协议书
2016/03/22 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
SQL Server删除表中的重复数据
2022/05/25 SQL Server