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简单性能问题及学习笔记
Feb 04 Javascript
正则表达式替换html元素属性的方法
Nov 26 Javascript
Bootstrap基本组件学习笔记之进度条(15)
Dec 08 Javascript
jQuery日程管理插件fullcalendar使用详解
Jan 07 Javascript
JavaScript和jQuery制作光棒效果
Feb 24 Javascript
浅谈Angular2 模块懒加载的方法
Oct 04 Javascript
浅谈Node模块系统及其模式
Nov 17 Javascript
React中使用async validator进行表单验证的实例代码
Aug 17 Javascript
JQuery实现ajax请求的示例和注意事项
Dec 10 jQuery
vue动态绑定class选中当前列表变色的方法示例
Dec 19 Javascript
javascript简单实现深浅拷贝过程详解
Oct 08 Javascript
分享JS表单验证源码(带错误提示及密码等级)
Jan 05 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 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
PHP中把对象数组转换成普通数组的方法
2015/07/10 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
splice slice区别
2006/10/09 Javascript
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
javascript继承之为什么要继承
2012/11/10 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
js Calender控件使用详解
2015/01/05 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
2016/01/27 Javascript
JQuery+EasyUI轻松实现步骤条效果
2016/02/22 Javascript
基于javascript数组实现图片轮播
2016/05/02 Javascript
AngularJS 避繁就简的路由
2016/07/01 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
2020/09/17 Javascript
Python实现的科学计算器功能示例
2017/08/04 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
包装类的功能、种类、常用方法
2012/01/27 面试题
优秀班主任主要事迹材料
2014/12/16 职场文书
公司股份转让协议书范本
2015/01/28 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
导游词之青城山景区
2019/09/27 职场文书
MySQL COUNT函数的使用与优化
2021/05/10 MySQL
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript