javascript - 为什么 keypress 事件和 keydown/keyup 事件的 keycode 不一样?
天蓬老师
天蓬老师 2017-04-10 14:40:45
0
2
591

代码:

<textarea id="test" rows="10" cols="40"></textarea>
$('#test')
  .on('keyup', function (e) {  console.log('keyup: ' + e.which); })
  .on('keydown', function (e) {  console.log('keydown: ' + e.which); })
  .on('keypress', function (e) { console.log('keypress: ' + e.which); })

http://jsfiddle.net/55jxybcc/2/

按某些键是一样的,按某些键就不一样了。

EDIT:
搜了一下发现原来有 keyCode 和 ascii keyCode 之分....
http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000520.html

keypress 对应的是 ascii keyCode
keyup/keydown 对应的是 keyCode...

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

reply all(2)
洪涛

目测是大小写字母的差别。
试了下,比如按下键盘w键。

keydown: 87
keypress: 119
keyup: 87

87是大写W的字码
119是小写w的字码

小葫芦

keydown和keyup不分大小写 keyCode都是65-90
keypress区分大小写 大写是65-90 小写97-122

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!