Javascript keyevent

键盘上的键分为字符键和功能键两种,也称为可打印键和不可打印键。

功能键包括Esc、F1~F12、Tab、Caps Lock、Shift、Ctrl、Insert、Home、Page Up、Page Down、Delete、End、Up、Down、Left、Right、Enter等


键盘事件的触发顺序为:keydown - keypress - keyup。

keydown和keyup是键盘上绝大部分键都要触发的,除极个别的某几个键可能会特殊些。

keypress经检测,是所有字符键所触发的,包括数字、字母、标点符号、回车等。

对于一个keyevent,可能的属性有keyCode、charCode、which。


keyCode是键盘上每个键的键码,如图所示,图片来自http://www.phpweblog.net/kiyone/archive/2007/04/19/1138.html


charCode是所有字符键的Unicode码,区分字母大小写,不区分小键盘。

 

对于IE8,仅支持keyCode。

 

对于Chrome,支持keyCode、charCode、which。对于keydown和keyup,keyCode=wihch,charCode=0;对于keypress,keyCode=which=charCode。

 

对于Firefox,支持keyCode、charCode、which。对于keydown和keyup,与Chrome一致,keyCode=wihch,charCode=0;对于keypress,keyCode=0,charCode=which

 

测试程序:

<script type="text/javascript">
function kd(e) {
	e = e || window.event;
	console.log('keydown : ' + e.keyCode + ', ' + e.charCode + ', ' + e.which);
	
}
function kp(e) {
	e = e || window.event;
	console.log('keypress : ' + e.keyCode + ', ' + e.charCode + ', ' + e.which);
}
function ku(e) {
	e = e || window.event;
	console.log('keyup : ' + e.keyCode + ', ' + e.charCode + ', ' + e.which);
	console.log('=======================================');
}
</script>
<input type="text" οnkeydοwn="kd(event)" οnkeypress="kp(event)" οnkeyup="ku(event)">


注:以上均为个人理解,如有错误,请指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值