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 模式实例 观察者模式
Oct 24 Javascript
jquery中使用ajax获取远程页面信息
Nov 13 Javascript
利用webqq协议使用python登录qq发消息源码参考
Apr 08 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
Mar 23 Javascript
使用JS中的exec()方法构造正则表达式验证
Aug 01 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 Javascript
jQuery 常见小例汇总
Dec 14 Javascript
读Javascript高性能编程重点笔记
Dec 21 Javascript
vue 挂载路由到头部导航的方法
Nov 13 Javascript
js中Array对象的常用遍历方法详解
Jan 17 Javascript
浅谈VUE中演示v-for为什么要加key
Jan 16 Javascript
element-ui点击查看大图的方法示例
Dec 14 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执行速度全攻略(下)
2006/10/09 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
2014/04/29 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
js canvas实现简单的图像扩散效果
2020/06/28 Javascript
详解基于node.js的脚手架工具开发经历
2019/01/28 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
2019/11/01 jQuery
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
Python的词法分析与语法分析
2013/05/18 Python
使用pandas中的DataFrame数据绘制柱状图的方法
2018/04/10 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
Django自带的用户验证系统实现
2020/12/18 Python
HTML5新增元素如何兼容旧浏览器有哪些方法
2014/05/09 HTML / CSS
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
中专毕业生求职简历的自我评价
2013/10/21 职场文书
总经理驾驶员岗位职责
2013/12/04 职场文书
工作表扬信的范文
2014/01/10 职场文书
北京奥运会主题口号
2014/06/13 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
房贷工资证明范本
2015/06/12 职场文书
导游词之新疆-喀纳斯
2019/10/10 职场文书
python基础之停用词过滤详解
2021/04/21 Python
用python自动生成日历
2021/04/24 Python
HDFS免重启挂载新磁盘
2022/04/06 Servers