按键事件在IE和Chrome中无效,但在FF中工作

hel*_*llo 15 firefox jquery internet-explorer google-chrome keypress

知道为什么会这样吗?我通常会认为Chrome会对代码更宽容吗?

$(document).keypress(function(e) {
    if(e.keyCode == 39) rightImage();
    if(e.keyCode == 37) leftImage();
});
Run Code Online (Sandbox Code Playgroud)

这就是我的按键是什么样的.我错过了什么吗?右图(); 和leftImage(); 因为我在其他地方也使用这些功能,所以应该起作用的功能

谢谢您的帮助!

jao*_*jao 37

更改keypresskeydown:

$(document).keydown(function(e) {
    if(e.keyCode == 39) rightImage();
    if(e.keyCode == 37) leftImage();
});
Run Code Online (Sandbox Code Playgroud)

按下键时会发生keydown事件,紧接着是按下按键事件.然后,在释放密钥时生成keyup事件.

为了理解keydown和keypress之间的区别,理解"字符"和"键"之间的区别很有用."键"是计算机键盘上的物理按钮,而"字符"是通过按下按钮键入的符号.理论上,keydown和keyup事件表示按下或释放的键,而keypress事件表示键入的字符.在所有浏览器中,该理论的实现并不相同.