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 相关文章推荐
checkbox 复选框不能为空
Jul 11 Javascript
跟着JQuery API学Jquery 之二 属性
Apr 09 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
Feb 27 Javascript
js日期、星座的级联显示代码
Jan 23 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
Oct 30 Javascript
JS实现选择TextArea内文本的方法
Aug 03 Javascript
javascript实现一个简单的弹出窗
Feb 22 Javascript
JS事件添加和移出的兼容写法示例
Jun 20 Javascript
vue滚动轴插件better-scroll使用详解
Oct 17 Javascript
如何在微信小程序中实现Mixins方案
Jun 20 Javascript
vant 解决tab切换插件标题样式自定义的问题
Nov 13 Javascript
比较node.js和Deno
Apr 27 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实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
云网广告中的代码,提示出错,大家找找
2006/11/21 Javascript
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
JSON字符串转JSON对象
2015/07/31 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
微信网页授权并获取用户信息的方法
2018/07/30 Javascript
vue弹窗组件的实现示例代码
2018/09/10 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
python使用Matplotlib改变坐标轴的默认位置
2019/10/18 Python
常用python爬虫库介绍与简要说明
2020/01/25 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
pycharm安装及如何导入numpy
2020/04/03 Python
Python字符串三种格式化输出
2020/09/17 Python
CSS3截取字符串实例代码【推荐】
2018/06/07 HTML / CSS
html5实现滑块功能之type="range"属性
2020/02/18 HTML / CSS
大韩航空官方网站:Korean Air
2017/10/25 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
Ever New美国:澳大利亚领先的女装时尚品牌
2019/11/28 全球购物
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
中专毕业生自我鉴定范文
2013/11/09 职场文书
大专应届生个人的自我评价
2013/11/21 职场文书
保险公司开门红口号
2014/06/21 职场文书
八项规定个人对照检查材料思想汇报
2014/09/25 职场文书
2015元旦晚会主持人开场白+结束语
2014/12/14 职场文书
分析JVM源码之Thread.interrupt系统级别线程打断
2021/06/29 Java/Android
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫