JavaScript的事件对象_键盘事件
2024-10-18 17:18:37
用户在使用键盘时会触发键盘事件。“DOM2 级事件”最初规定了键盘事件,结果又删除了相应的内容。最终还是使用最初的键盘事件,不过 IE9 已经率先支持“DOM3”级键盘事件。
一、键码
在发生 keydown 和 keyup 事件时,event 对象的 keyCode 属性中会包含一个代码,与键盘上一个特定的键对应。对数字字母字符集,keyCode 属性的值与 ASCII 码中对应小写字母或数字的编码相同。字母中大小写不影响。
<script type="text/javascript">
window.onload = function(){
document.onkeydown = function (evt) {
alert(evt.keyCode); //按任意键,得到相应的 keyCode
};
};
</script>
不同的浏览器在 keydown 和 keyup 事件中,会有一些特殊的情况:在 Firefox 和 Opera 中,分号键时 keyCode 值为 59,也就是 ASCII 中分号的编码;而 IE和 Safari 返回 186,即键盘中按键的键码。
<script type="text/javascript">
window.onload = function(){
document.onkeypress = function (evt) {
alert(evt.keyCode); //按任意键,得到相应的 keyCode
};
};
</script>
</head>
<body>
<input type="button" value="按钮"/>
</body>
如果用keypress返回keyCode,在火狐中所有的字符键都返回0,不是字符键没反应。Chrome,IE支持keypress返回keyCode,而且还支持大小写
二、字符编码
Firefox、Chrome 和 Safari 的 event 对象都支持一个 charCode 属性,这个属性只有在发生 keypress 事件时才包含值,而且这个值是按下的那个键所代表字符的 ASCII 编码。
此时的 keyCode 通常等于 0 或者也可能等于所按键的编码。IE 和 Opera 则是在 keyCode 中保存字符的 ASCII 编码。
<script type="text/javascript">
window.onload = function(){
document.onkeypress = function (evt) {
alert(evt.charCode); //按任意键,得到相应的字符编码
};
};
</script>
</head>
<body>
<input type="button" value="按钮"/>
</body>
最新文章
- replace U to T in mature.fa
- 干货分享:MySQL之化险为夷的【钻石】抢购风暴
- Delphi编译的程序,查看控件名称方法
- Beej网络socket编程指南
- 俄罗斯方块游戏JavaScript代码
- 模块化与MVC
- BZOJ 3729: Gty的游戏 [伪ETT 博弈论]【学习笔记】
- ctf学习(web题二)
- FFmpeg的一般流程
- 知名公司的GitHub地址
- [android] 手机卫士接收短信指令执行相应操作
- PHP获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址
- xtrabackup备份MySQL并主从同步
- elasticsearch 安装配置详解
- (转)spring hibernate properties详解
- vulcanjs schemas&;&; collections
- 释放Ubuntu/Linux系统cache,增加可用内存空间
- Vultr VPS建站攻略 – 一键安装宝塔面板架设LNMP/LAMP Web环境
- Gradle Goodness: Renaming Files while Copying
- 原生 JS 实现扫雷 (分析+代码实现)