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源码学习javascript(二)
Dec 27 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
Jan 09 Javascript
利用js(jquery)操作Cookie的方法说明
Dec 19 Javascript
关于JavaScript对象的动态选择及遍历对象
Mar 10 Javascript
jquery分页对象使用示例
Apr 01 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
Dec 29 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
May 03 Javascript
BootStrap selectpicker
Jun 20 Javascript
微信小程序获取循环元素id以及wx.login登录操作
Aug 17 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
Sep 11 Javascript
详解vue-cli 脚手架 安装
Apr 16 Javascript
JS简单数组排序操作示例【sort方法】
May 17 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
使用Apache的rewrite技术
2006/06/22 PHP
php入门小知识
2008/03/24 PHP
snoopy PHP版的网络客户端提供本地下载
2008/04/15 PHP
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
php递归创建目录的方法
2015/02/02 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
ThinkPHP 3.2.2实现事务操作的方法
2017/05/05 PHP
用js查找法实现当前栏目的高亮显示的代码
2007/11/24 Javascript
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
Javascript中string转date示例代码
2013/11/01 Javascript
JQuery中dataGrid设置行的高度示例代码
2014/01/03 Javascript
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
python fabric实现远程部署
2017/01/05 Python
python分布式环境下的限流器的示例
2017/10/26 Python
Python之文字转图片方法
2018/05/10 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
HTML5 Canvas 旋转风车绘制
2017/08/18 HTML / CSS
2014年庆元旦活动方案
2014/02/15 职场文书
网吧最新创业计划书范文
2014/03/27 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书