2 zzzcsd zzzcsd 于 2016.01.13 17:17 提问

js事件中的keycode,在不同是事件中,數值不一樣
 document.addEventListener("keypress",function(e){
    var ikeyCode=e.keyCode;
    window.alert("press:"+ikeyCode);
});
document.addEventListener("keydown",function(e){
    var ikeyCode=e.keyCode;
    window.alert("down:"+ikeyCode);
});

在瀏覽器中執行上面的代碼,然後,任意按一個鍵,發現兩次alert的結果不一樣。
每次都相差32
是啥原因?

3个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.13 20:03
已采纳

测试了是这样的,没错。keyCode 属性返回onkeypress事件触发的键的值的字符代码,或者 onkeydown 或 onkeyup 事件的键的键盘代码。
这两种代码类型的区别是:字符代码 - 表示 ASCII 字符的数字;键盘代码 - 表示键盘上真实键的数字。
例如:你按下w键,两种事件keypress是小写w,keydown是大写w,即大小写相差32.
这篇文章有详细介绍,可以细读:http://www.runoob.com/jsref/event-key-keycode.html

91program
91program   Ds   Rxr 2016.01.13 17:28

建议你先单独测试每一段代码,对同一个按键看看具体的键会不会不相同!

showbo
showbo   Ds   Rxr 2016.01.13 18:11
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!