【发布时间】:2012-04-20 18:28:49
【问题描述】:
每当我按下向上或向下按钮时,我都可以检查是否按下了这些键,例如此处会触发警报:
if ((38 in keysDown) ) { // Player holding up
window.alert("up button was pressed");
}
if ((40 in keysDown) ) { // Player holding down
window.alert("down button was pressed");
}
但是在这里即使我按下输入警报也不会播放
if ((13 in keysDown) ) { // player pushed on enter
window.alert("enter key was pressed"); // here nothing happen
}
我在一开始就使用这 3 行来添加事件监听器:
keysDown = {};
addEventListener("keydown", function (e) {keysDown[e.keyCode] = true;}, false);
addEventListener("keyup", function (e) {delete keysDown[e.keyCode];}, false);
但由于某种我不知道回车键不起作用的原因 问题出现在 firefox 上,在 Chrome 和 IE 上工作正常
提前致谢。
EDIT 我找出问题所在,我正在使用的画布没有焦点, 所以输入按钮不起作用,any1可以告诉我如何切换焦点吗?
【问题讨论】:
-
每个浏览器都会出现这种情况吗?你注意到哪个浏览器了?你能提供一个小提琴吗?
-
我使用了 firefox ...我需要它主要在 firefox 上工作
-
签出这个 fiddle 在 Firefox 中为我工作...显示 keyCode 13
-
让我猜猜:你想在
<textarea>中捕获回车键? -
在小提琴中也对我有用,但在我使用我的代码时却不行