【JavaScript】按键事件

一、keypress、keydown和keyup。
1、介绍:
keydown--用户在键盘上按下某按键时发生。一直按着某按键,它则会不断触发(Opera浏览器除外)
keypress--用户按下一个按键,并产生一个字符时发生(也就是类似Shift、Alt、Ctrl、Meta等之类的键除外)。一直按下按键时,它则持续发生。
keyup--用户释放着的键时发生。
2、事件触发顺序:
用户按一次某字符按键时,会按以下顺序触发事件:
1)keydown  2)keypress  3)keyup
如果用户按一次某非字符按键(比如shift)时,则会按以下顺序触发事件:
1)keydown  2)keyup
用户按一次某非字符按键且不放,keydown和keypress事件将逐个持续触发,直至松开按键;如果用户按下非字符按键且不放,将只有keydown事件持续触发。
二、按键事件相关的keyCode/charCode。
1、IE事件属性:
keyCode:对于keypress事件,表示按下按键的Unicode字符;对于keydown或keyup事件,表示按下按键的数字代号。
2、DOM事件属性:
charCode:表示按键的Unicode值。可用这个值获得实际的字符。方法如下:
var iCharCode=oEvent.charCode;
var sChar=String.fromCharCode(iCharCode);
keyCode:表示按下按键的数字代号。
可以用事件的isChar属性检测是否有字符与之相关。
3、在keydown或keyup事件中,可用keyCode属性获取按下的按键的数值代码。
var iKeyCode=oEvent.keyCode;
4、检测Shift、Alt、Ctrl键:
var bShift=oEvent.shiftKey;
var bAlt=oEvent.altKey;
var bCtrl=oEvent.ctrlKey;
5、"Opera 7.5在检测不同的按键( Shift、Alt、Ctrl键 )时有bug,它错误地将Shift键报告为Ctrl键。另外,它根本不会检测Alt键。

转载于:https://my.oschina.net/aram/blog/140494

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值