js onkeypress与onkeydown 事件区别详细说明


Posted in Javascript onDecember 13, 2012

onkeypress 和 onkeydown 是有区别,下面将讲解 onkeypress 与 onkeydown 事件的区别。
onkeypress 事件在用户按下并放开任何字母数字键时发生。但是系统按钮(例如:箭头键、功能键)无法得到识别。
onkeydown 事件在用户按下任何键盘键(包括系统按钮)时发生。
具体区别
1. 一个放开一个没有放开,onkeydown 先于 onkeypress 发生。
2.onkeypress 无法系统按钮。
2.onkeydown 捕获的 keyCode 不区分字母大小,而 onkeypress 区分。

onkeypress是在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。
onkeyup 是在用户放开任何先前按下的键盘键时发生。
onkeydown 是在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。

onkeypress
As of Microsoft® Internet Explorer 4.0, the onkeypress event fires and can be canceled for the following keys:

Letters: A - Z (uppercase and lowercase)
Numerals: 0 - 9
Symbols: ! @ # $ % ^ & * ( ) _ - + = < [ ] { } , . / ? \ | ' ` " ~
System: ESC, SPACEBAR, ENTER

onkeydown
As of Microsoft® Internet Explorer 4.0, the onkeydown event fires for the following keys:

Editing: DELETE, INSERT
Function: F1 - F12
Letters: A - Z (uppercase and lowercase)
Navigation: HOME, END, LEFT ARROW, RIGHT ARROW, UP ARROW, DOWN ARROW
Numerals: 0 - 9
Symbols: ! @ # $ % ^ & * ( ) _ - + = < [ ] { } , . / ? \ | ' ` " ~
System: ESC, SPACEBAR, SHIFT, TAB

As of Internet Explorer 5, the event also fires for the following keys:

Editing: BACKSPACE
Navigation: PAGE UP, PAGE DOWN
System: SHIFT+TAB

As of Internet Explorer 5, this event can be canceled for the following keys and key combinations by specifying event.returnValue=false:

Editing: BACKSPACE, DELETE
Letters: A - Z (uppercase and lowercase)
Navigation: PAGE UP, PAGE DOWN, END, HOME, LEFT ARROW, RIGHT ARROW, UP ARROW, DOWN ARROW
Numerals: 0 - 9
Symbols: ! @ # $ % ^ & * ( ) _ - + = < [ ] { } , . / ? \ | ' ` " ~
System: SPACEBAR, ESC, TAB, SHIFT+TAB

You can cancel all keys that fire the onkeydown event in HTML Applications, including most accelerator keys, such as ALT+F4.

In Internet Explorer 4.0, you cannot cancel the onkeydown event, but you can use the onkeypress event to cancel keyboard events.

两个一起按,可以这样:

if( window.event.shiftKey && event.keyCode==xx) function document_onpress() 
{ 
if(event.keyCode=='13') 
{ 
document.all.div_Line.style.pixelLeft=document.all.div_Line.style.pixelLeft+1; 
document.all.div_Q.style.pixelLeft=document.all.div_Q.style.pixelLeft+1; 
document.all.div_T.style.pixelLeft=document.all.div_T.style.pixelLeft+1; 
}
Javascript 相关文章推荐
Javascript与vbscript数据共享
Jan 09 Javascript
javascript 触发事件列表 比较不错
Sep 03 Javascript
javascript中解析四则运算表达式的算法和示例
Aug 11 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
Nov 09 Javascript
学习JavaScript设计模式之中介者模式
Jan 14 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
Aug 06 Javascript
vue2.0 中使用transition实现动画效果使用心得
Aug 13 Javascript
vue添加class样式实例讲解
Feb 12 Javascript
Node.js原生api搭建web服务器的方法步骤
Feb 15 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
Apr 26 Javascript
JS控制下拉列表左右选择实例代码
May 08 Javascript
javascript 文件的同步加载与异步加载实现原理
Dec 13 #Javascript
javaScript复制功能调用实现方案
Dec 13 #Javascript
js遍历td tr等html元素
Dec 13 #Javascript
js关闭模态窗口刷新父页面或跳转页面
Dec 13 #Javascript
HTML复选框和单选框 checkbox和radio事件介绍
Dec 12 #Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
Dec 12 #Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
Dec 12 #Javascript
You might like
PHP不用第三变量交换2个变量的值的解决方法
2013/06/02 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
PHP使用PDO访问oracle数据库的步骤详解
2017/09/29 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
给moz-firefox下添加IE方法和属性
2007/04/10 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
2016/09/17 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
2017/08/29 jQuery
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
Vue 修改网站图标的方法
2020/12/31 Vue.js
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python实现飞机大战
2018/09/11 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
Python select及selectors模块概念用法详解
2020/06/22 Python
python中加背景音乐如何操作
2020/07/19 Python
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
酒吧副总经理岗位职责
2013/12/10 职场文书
公司市场专员岗位职责
2014/06/29 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
创优争先心得体会
2014/09/11 职场文书
融资合作协议书范本
2014/10/17 职场文书
物业保洁员岗位职责
2015/02/13 职场文书
篮球赛新闻稿
2015/07/17 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python