代码:
<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 keyCodekeyup/keydown
对应的是 keyCode...
目测是大小写字母的差别。
试了下,比如按下键盘w键。
87是大写
W
的字码119是小写
w
的字码keydown和keyup不分大小写 keyCode都是65-90
keypress区分大小写 大写是65-90 小写97-122