Chrome在keycode / keypress(JQuery)上无法正常运行

时间:2013-02-14 20:59:16

标签: jquery

我正在类似excel的环境中开发数据插件(想法是从excel上传数据copypasting)。

我正在使用JQuery,并且在Firefox中工作得很好,但是Chrome在按键时很头疼,我真的不知道如何让它工作。

以下是示例:http://jsfiddle.net/j6PgY/

我正在做的是这样的事情:

$(document).live('keypress', function(e){
if(e.keyCode==38 && y!=1){ // Up
    y--;
}else if(e.keyCode==40 && y!=largo){ // Down
    y++;
}

从第67行看看

1 个答案:

答案 0 :(得分:3)

这似乎有效:

$(document).on('keydown', function(e){
    if(e.which==38 && y!=1){ // Up
        y--;
    }else if(e.which==40 && y!=largo){ // Down
        y++;
}

FIDDLE

keypress替换keydown可以解决问题。在文档上使用live()或其他委托事件处理程序也不是必需的,因为它不是动态的,它实际上始终可用。并且e.which在jQuery中被标准化。