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 相关文章推荐
jQuery Div中加载其他页面的实现代码
Feb 27 Javascript
Javascript 中介者模式实例
Dec 16 Javascript
javascript错误的认识不用关心内存管理
Dec 15 Javascript
node.js中的fs.utimes方法使用说明
Dec 15 Javascript
JavaScript中的console.profile()函数详细介绍
Dec 29 Javascript
JavaScript实现文字与图片拖拽效果的方法
Feb 16 Javascript
理解Angular数据双向绑定
Jan 10 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
Aug 24 Javascript
react router 4.0以上的路由应用详解
Sep 21 Javascript
模块化react-router配置方法详解
Jun 03 Javascript
vue实现简单瀑布流布局
May 28 Javascript
vue+element实现图片上传及裁剪功能
Jun 29 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
Terran魔法科技
2020/03/14 星际争霸
判“新”函数:得到今天与明天的秒数
2006/10/09 PHP
让回调函数 showResponse 也带上参数的代码
2007/08/13 Javascript
js的with语句使用方法
2007/09/21 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
Vue CL3 配置路径别名详解
2019/05/30 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
Python实现多并发访问网站功能示例
2017/06/19 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
Python chardet库识别编码原理解析
2020/02/18 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
新加坡最早生产电动滑板车的制造商之一:FunsToTheFore
2020/09/08 全球购物
自荐信格式范文
2013/10/07 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
法律意见书范文
2015/06/04 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL