keyCode,charCode,which

1.触发顺序keydown keypress keyup,但keypress事件只有输入相关按键才会触发,功能按键不会触发keypress事件(keypress事件有个额外的charCode属性)

2.keypress事件中keyCode大小写敏感,keydown,keyup不敏感

3.keypress对主副键盘的数字键不敏感,keydown,keyup敏感

4.keypress事件,当你按的是(a-z)时,keyCode为0,charCode为键值,当你按的不是(a-z)的非功能键时,keyCode为键值,charCode为0 (ff  only

5.NetScape/FireFox/Opera老版本不支持keyCode,而是用which属性

 

6.要阻止浏览器的默认(f5)行为要在keydown上阻止,浏览器的默认实现应该就是在这个事件上,而如果在keyup上来阻止默认行为就为时已晚了

 

 

 

备注:IE下阻止浏览器的默认行为(例如F5刷新页面)时需将e.keyCode=0(并且必须是原生的event,不能是jquery event),否则无法阻止.

safari浏览器貌似不允许禁用一些默认行为(f5,backspace)

 

 

var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

posted @ 2013-12-30 16:10  三剑客  阅读(522)  评论(0编辑  收藏  举报