【发布时间】:2011-10-07 04:22:52
【问题描述】:
当我按下 . 时,它会触发三个事件,keydown、keypress 和 keyup。
keydown
which: 190 == ¾
keyCode: 190 == ¾
keypress
which: 46 == .
keyCode: 46 == .
keyup
which: 190 == ¾
keyCode: 190 == ¾
当我按下 delete 时,它会触发 两个 事件,keydown 和 keyup。
keydown
which: 46 == .
keyCode: 46 == .
keyup
which: 46 == .
keyCode: 46 == .
我想按.,就能得到对应的字符(46 == .)。但是在keydown 和keyup 上,我得到190,即¾。在keypress 上,我得到了正确的值,但是当我按下delete 时不会触发此事件。
当我按下delete 时,我在keydown 和keyup 上得到代码46。但是代码46 是. 而不是delete。
如果按下的是. 或delete 键,我如何创建一个事件来捕获两个键并区分它们?
要测试的页面:http://jsfiddle.net/Eg9F3/
【问题讨论】:
-
你能用 jsfiddle.net 来说明一下吗?
-
@Christophe jsfiddle.net/Eg9F3
-
好吧,
delete不对应一个字符。在过去,它会映射到较低的字符值,但现在并不是这样。所以你这里有两个场景,需要区分它们。您要解决的实际问题是什么?
标签: javascript jquery events keyboard