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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
js防止回车(enter)键提交表单及javascript中event.keycode
如何防止回车(enter)键提交表单,其实很简单,就一句话。onkeydown="if(event.keyCode==13)return false;"把这句写在from标签里面就好了。 如果在页面中按Enter键会自动提交的话,可以设置返回值防止自动提交如返回值必须是false function gosearch() { if(window.event.keyCode
android微信keydown事件的keyCode为0情况下JS输入约束实现
因为微信不支持keypress事件,keydown/keyup的keycode又为0,没有办法通过这些事件事约束输入,所以,通过input事件变通实现。 原理很简单,每次输入时,记录下光标位置和上一次输入的值,再获取当前值时行检查,合法时,不处理,不合法时,恢复上次输入值,把光标设置到上一次的位置,由于number类型的input不支持获取和设置光标相关方法,因此,本方法只针对input
JS中键盘事件及keyCode对照表
一.Keycode对照表二.键盘事件1.键盘事件:完整的 key press 过程分为两个部分:1. 按键被按下;2. 按键被松开。keydown:按键按下keyup:按键抬起keypress:按键按下抬起2.使用时//jq的方式 $("input").keydown(function(){ $("input").css("background-color","#FFFFCC"); }); $(...
jquery键盘事件及keycode大全
jquery的键盘事件分为keypress、keydown和keyup事件 一、键盘事件 1、keypress()事件 keypress 当按钮被按下时,会发生该事件,我们可以理解为按下并抬起同一个按键。 2、keydown()事件 当按钮被按下时,发生 keydown 事件。 3、keyup事件 keyup 事件会在按键释放时触发,也就是你按下键盘起来后的事件
键盘 keycode的值 javascript时触发事件
键盘 keycode的值 javascript时触发事件
事件集合js事件集合js事件集合
js事件集合js事件集合事件集合事件集合事件集合,js事件集合,js事件集合
关于keyCode与键盘上值的对应问题
script> document.onkeyup = function(e){ console.log(e.keyCode); if(e.ctrlKey){ console.log("enter"); } } script>   keycode 8 = BackSpace BackSpace  k
当前对话框响应keydown事件时,无论按下什么键,都传回的keycode值都是229
当前对话框响应keydown事件时,无论按下什么键,都传回的keycode值都是229??关闭输入法!
computer networking a top down approach 3rd 解答
computer networking a top down approach 3rd 解答 第4版通用 題號&數字不一樣
浅谈javascript之事件、函数、方法、对象 各代表何含义,通俗解释及其之间的关联与区别
简单来说: 在javascript中,所有的事件都是通过函数来执行的,函数本身就是动作(针对事件来说),也是方法(针对对象来说)!对象是指的谁触发了事件,绑定事件的主人。 【事件】 事件就如神经开关,刺激激发动作函数,只需交互一瞬间;  【函数】 函数就是对事件作出具体反馈映射,即执行处理某种事件的动作,需要一段执行过程。 【方法】 当把一个函数赋给某个对象当属性时,就变成了方法: