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 创建对象和构造类实现代码
Jul 30 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
Nov 19 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
May 19 Javascript
Javascript的闭包详解
Dec 26 Javascript
JavaScript中使用数组方法汇总
Feb 16 Javascript
JS中artdialog弹出框控件之提交表单思路详解
Apr 18 Javascript
JS对象创建的几种方式整理
Feb 28 Javascript
BootstrapTable加载按钮功能实例代码详解
Sep 22 Javascript
详解Vue组件实现tips的总结
Nov 01 Javascript
Vue项目组件化工程开发实践方案
Jan 09 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 28 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
May 14 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
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
JavaScript URL参数读取改进版
2009/01/16 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
2013/04/17 Javascript
jqgrid 表格数据导出实例
2013/11/21 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
2016/12/26 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
2017/05/18 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
jquery实现左右轮播图效果
2017/09/28 jQuery
vue组件父子间通信详解(三)
2017/11/07 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
超轻量级的js时间库miment使用解析
2019/08/02 Javascript
vue实现购物车列表
2020/06/30 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
2021/02/07 Vue.js
python简单实现操作Mysql数据库
2018/01/29 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
jupyter实现重新加载模块
2020/04/16 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
哈萨克斯坦最大的时装、鞋子和配饰在线商店:Lamoda.kz
2019/11/19 全球购物
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
校园达人秀策划书
2014/01/12 职场文书
公司证明怎么写
2014/09/22 职场文书
大学生入党自荐书
2015/03/05 职场文书
学子宴致辞大全
2015/07/27 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
各国货币符号大全
2022/02/17 杂记