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 相关文章推荐
jquery在Chrome下获取图片的长宽问题解决
Mar 20 Javascript
jQuery截取指定长度字符串的实现原理及代码
Jul 01 Javascript
node.js中的fs.fsyncSync方法使用说明
Dec 15 Javascript
JavaScript基于setTimeout实现计数的方法
May 08 Javascript
详解AngularJS中的表达式使用
Jun 16 Javascript
jQuery 弹出层插件(推荐)
May 24 Javascript
Ajax验证用户名或昵称是否已被注册
Apr 05 Javascript
一个基于react的图片裁剪组件示例
Apr 18 Javascript
JS实现获取当前所在周的周六、周日示例分析
May 11 Javascript
修改vue源码实现动态路由缓存的方法
Jan 21 Javascript
Javascript如何实现扩充基本类型
Aug 26 Javascript
JavaScript如何优化逻辑判断代码详解
Jun 08 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
索尼SONY ICF-7600A(W)电路分析
2021/03/01 无线电
php生成N个不重复的随机数实例
2013/11/12 PHP
php检测文件编码的方法示例
2014/04/25 PHP
CI框架中zip类应用示例
2014/06/17 PHP
ThinkPHP中处理表单中的注意事项
2014/11/22 PHP
php继承中方法重载(覆盖)的应用场合
2015/02/09 PHP
告诉大家什么是JSON
2008/06/10 Javascript
jQuery EasyUI API 中文文档 - Dialog对话框
2011/11/15 Javascript
你必须知道的Javascript知识点之"this指针"的应用
2013/04/23 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
JavaScript实现构造json数组的方法分析
2018/08/17 Javascript
对angularJs中ng-style动态改变样式的实例讲解
2018/09/30 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
win7 下搭建sublime的python开发环境的配置方法
2014/06/18 Python
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
python实战教程之自动扫雷
2018/07/13 Python
TensorFlow实现Logistic回归
2018/09/07 Python
解决pycharm的Python console不能调试当前程序的问题
2019/01/20 Python
python多线程扫描端口(线程池)
2019/09/04 Python
python实现logistic分类算法代码
2020/02/28 Python
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
劳资专员岗位职责
2013/12/27 职场文书
优秀教师获奖感言
2014/01/31 职场文书
七年级历史教学反思
2014/02/05 职场文书
管理标语大全
2014/06/24 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
大学军训口号大全
2015/12/24 职场文书
MySQL七种JOIN类型小结
2021/10/24 MySQL