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代码超级推荐
Apr 05 Javascript
编辑浪子版表单验证类
May 12 Javascript
javascript打印输出json实例
Nov 11 Javascript
js监听鼠标事件控制textarea输入字符串的个数
Sep 29 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
Apr 10 Javascript
javascript实现捕捉键盘上按下的键
May 05 Javascript
js调用屏幕宽度的简单方法
Nov 14 Javascript
Angular中ng-bind和ng-model的区别实例详解
Apr 10 Javascript
整理一些最近经常遇到的前端面试题
Apr 25 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
Mar 22 Javascript
js实现多图和单图上传显示
Dec 18 Javascript
JavaScript setTimeout()基本用法有哪些
Nov 04 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字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
PHP排序之二维数组的按照字母排序实现代码
2011/08/13 PHP
19个超实用的PHP代码片段
2014/03/14 PHP
PHP实现获取域名的方法小结
2014/11/05 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
Javascript 错误处理的几种方法
2009/06/13 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
浅谈Python中的闭包
2015/07/08 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
20行python代码实现人脸识别
2019/05/05 Python
python中的逆序遍历实例
2019/12/25 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
2020/01/15 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
几个Linux面试题笔试题
2012/12/01 面试题
数控专业毕业生自荐信范文
2014/03/04 职场文书
竞选班委演讲稿
2014/04/28 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
2015年销售部工作总结范文
2015/04/27 职场文书
工程质量保证书
2015/05/09 职场文书