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 相关文章推荐
js获取控件位置以及不同浏览器中的差别介绍
Aug 08 Javascript
页面载入结束自动调用js函数示例
Sep 23 Javascript
JavaScript实现更改网页背景与字体颜色的方法
Feb 02 Javascript
javascript实现拖动元素交换位置
Nov 29 Javascript
javascript显示上周、上个月日期的处理方法
Feb 03 Javascript
js自定义select下拉框美化特效
May 12 Javascript
利用babel将es6语法转es5的简单示例
Dec 01 Javascript
JS中的事件委托实例浅析
Mar 22 Javascript
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
May 14 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
Sep 30 Javascript
基于vue的验证码组件的示例代码
Jan 22 Javascript
JS实现的贪吃蛇游戏案例详解
May 01 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
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
js实现简单登录功能的实例代码
2013/11/09 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
jquery常用操作小结
2014/07/21 Javascript
javascript使用正则获取url上的某个参数
2014/09/04 Javascript
jQuery内部原理和实现方式浅析
2015/02/03 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
JS仿QQ好友列表展开、收缩功能(第二篇)
2017/07/07 Javascript
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
vue打包后显示空白正确处理方法
2017/11/01 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
使用Python生成url短链接的方法
2015/05/04 Python
Python文件和流(实例讲解)
2017/09/12 Python
python+selenium识别验证码并登录的示例代码
2017/12/21 Python
Tensorflow 合并通道及加载子模型的方法
2018/07/26 Python
python 如何去除字符串头尾的多余符号
2019/11/19 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
Python实现变声器功能(萝莉音御姐音)
2019/12/05 Python
python实现串口通信的示例代码
2020/02/10 Python
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
Linux文件操作命令都有哪些
2016/07/23 面试题
高中生自我评价个人范文
2013/11/09 职场文书
经管应届生求职信
2013/11/17 职场文书
电子商务专业学生的自我鉴定
2013/11/28 职场文书
个人查摆问题及整改措施
2014/10/16 职场文书
国庆放假通知怎么写
2015/07/30 职场文书
python 利用PyAutoGUI快速构建自动化操作脚本
2021/05/31 Python
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android