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 防止表单重复提交代码
Jan 21 Javascript
javascript模拟枚举的简单实例
Mar 06 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
Aug 04 Javascript
js闭包的用途详解
Nov 09 Javascript
js+html5实现可在手机上玩的拼图游戏
Jul 17 Javascript
jQuery实现多级联动下拉列表查询框
Jan 18 Javascript
从零学习node.js之简易的网络爬虫(四)
Feb 22 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
Jun 20 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
May 09 Javascript
JS实现查找数组中对象的属性值是否存在示例
May 24 Javascript
微信小程序如何连接Java后台
Aug 08 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
Dec 12 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强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
flash 得到自身url参数的代码
2009/11/15 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
json的定义、标准格式及json字符串检验
2014/05/11 Javascript
js实现上传图片预览的方法
2015/02/09 Javascript
使用npm发布Node.JS程序包教程
2015/03/02 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
javascript如何实现暂停功能
2015/11/06 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
Vue路由跳转问题记录详解
2017/06/15 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
Electron-vue开发的客户端支付收款工具的实现
2019/05/24 Javascript
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
2020/03/04 Javascript
VUE Elemen-ui之穿梭框使用方法详解
2021/01/19 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
jQuery实现动态向上滚动
2020/12/21 jQuery
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
Python 代码性能优化技巧分享
2012/08/07 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
详解python和matlab的优势与区别
2019/06/28 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
如何编写python的daemon程序
2021/01/07 Python
世界领先的26岁以下学生和青少年旅行预订网站:StudentUniverse
2018/07/01 全球购物
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
汽车队司机先进事迹材料
2014/02/01 职场文书
四年大学自我鉴定
2014/02/17 职场文书
酒店员工职业生涯规划
2014/02/25 职场文书
商务英语专业毕业生求职信
2014/07/06 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
用python删除文件夹中的重复图片(图片去重)
2021/05/12 Python
MySQL添加索引特点及优化问题
2022/07/23 MySQL