Javascript Firefox中按键未触发

Javascript Firefox中按键未触发,javascript,jquery,javascript-events,event-handling,Javascript,Jquery,Javascript Events,Event Handling,我使用javascript按键开关触发事件,它在webkit浏览器中运行良好,但在firefox中不起作用。有人能帮忙吗?我使用的代码是: $(document).keydown(function(e) { switch(e.keyCode) { case 39: event.preventDefault(); alert("Arrow Key"); } break; case 37: event.preventDef

我使用javascript按键开关触发事件,它在webkit浏览器中运行良好,但在firefox中不起作用。有人能帮忙吗?我使用的代码是:

$(document).keydown(function(e) {
switch(e.keyCode) { 

    case 39:
    event.preventDefault();
            alert("Arrow Key");
 }
break;

    case 37:
           event.preventDefault();
            alert("Arrow Key");
}
});

我尝试启动的函数比警报更复杂,但我想我会保持简单的解释。

IIRC-Firefox使用charCode而不是keyCode

你能试试吗

$(document).keydown(function(e) {
kCode = (e.keyCode)? e.keyCode: e.charCode;
switch(kCode) { 

case 39:
event.preventDefault();
        alert("Arrow Key");
}
break;

case 37:
       event.preventDefault();
        alert("Arrow Key");
}
});

IIRC Firefox使用charCode而不是keyCode

你能试试吗

$(document).keydown(function(e) {
kCode = (e.keyCode)? e.keyCode: e.charCode;
switch(kCode) { 

case 39:
event.preventDefault();
        alert("Arrow Key");
}
break;

case 37:
       event.preventDefault();
        alert("Arrow Key");
}
});
函数中存在语法错误(在
break;
之前有一个错误的括号
}
),并且有一个未定义的对象(事件)

$(document).keydown(function(e) {
switch(e.keyCode) { 

case 39:
e.preventDefault();
        alert("Arrow Key");

break;

case 37:
       e.preventDefault();
        alert("Arrow Key");
}
});
MSIE中不会出现错误的对象(event),因为总是有一个名为“event”的全局对象。

在函数中有语法错误(错误的括号
}
break;
之前)和未定义的对象(event)

$(document).keydown(function(e) {
switch(e.keyCode) { 

case 39:
e.preventDefault();
        alert("Arrow Key");

break;

case 37:
       e.preventDefault();
        alert("Arrow Key");
}
});

MSIE中不会出现错误的对象(event),因为总是有一个名为“event”的全局对象。

我尝试了keydown,keydup和所有这些都会在firefox中产生相同的结果(不起作用)它们都在webkit浏览器中工作。你是否将事件从Html显式传递给函数?@你应该在某个文本框上使用keydown,对吧,你为什么在文档中这样做,是全局的吗?是的,基本上只是试图创建一些由按键触发的快捷方式。这不是确切的代码。我尝试过keydown和keydup,它们在firefox中产生相同的结果(不起作用),并且在webkit浏览器中都起作用。你是否明确地将事件从Html传递到函数?@你应该在一些文本框上使用keydown,对,你为什么在文档中这样做,是全局的吗,基本上只是尝试创建一些由按键触发的快捷方式。这不是确切的代码。啊,太简单了。非常感谢。工作得很有魅力。不知道我为什么要写event.PreventDefault();可能是因为在jquery文档中,它们总是使用
event.preventDefault()
。但他们也将函数参数称为“事件”。@molle博士精彩绝伦,捕捉得很好,我正在查看它,但无法识别。我用…keydownsah做了很多事情,很简单。非常感谢。工作得很有魅力。不知道我为什么要写event.PreventDefault();可能是因为在jquery文档中,它们总是使用
event.preventDefault()
。但他们也将函数参数称为“事件”。@molle博士精彩绝伦,捕捉得很好,我正在查看它,但无法识别。我用…键做了很多事情