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_15_作用域分配与变量访问规则,再送个闭包
Oct 20 Javascript
有关于eclipse配置spket需要注意的一些地方
Apr 07 Javascript
jQuery截取指定长度字符串的实现原理及代码
Jul 01 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
May 09 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
May 20 Javascript
html判断当前页面是否在iframe中的实例
Nov 30 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
Jun 15 Javascript
基于jquery实现九宫格拼图小游戏
Nov 30 jQuery
layui的表单验证支持ajax判断用户名是否重复的实例
Sep 06 Javascript
vue改变循环遍历后的数据实例
Nov 07 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
Aug 13 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 Vue.js
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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
编写PHP的安全策略
2006/10/09 PHP
php tp验证表单与自动填充函数代码
2012/02/22 PHP
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
浅谈PHP进程管理
2019/03/08 PHP
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
2013/09/18 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
原生js实现数字字母混合验证码的简单实例
2015/12/10 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
原生js开发的日历插件
2017/02/04 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
javascript 判断当前浏览器版本并判断ie版本
2017/02/17 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
python读写二进制文件的方法
2015/05/09 Python
用python写扫雷游戏实例代码分享
2018/05/27 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
python pycharm的安装及其使用
2019/10/11 Python
python 实现aes256加密
2020/11/27 Python
求职自荐信范文格式
2013/11/29 职场文书
秋季婚礼证婚词
2014/01/11 职场文书
采购员岗位职责
2015/02/03 职场文书
法律讲堂观后感
2015/06/11 职场文书
自信主题班会
2015/08/14 职场文书
高中班主任寄语
2019/06/21 职场文书