我有自己的自制 JSFiddle 小网站,主要是为了好玩而构建的,到目前为止它运行得很好,但我只在 Chrome 中进行开发。我想提及这一点,因为我认为我的问题可能(希望)能够通过更改我的小沙箱来解决,但这是我的主要问题:
在我的沙箱中,我开发了一个小型 Snake 实现,它依赖于按键事件来控制播放器。在 Chrome 中一切正常,我对此非常满意,但在 Firefox 中,我无法控制播放器。您可以在这里查看我的设置:
http://willseph.com/sandbox/?id=ORWx7miv
播放器应该用方向键或 WASD 控制,但它们似乎在 Firefox 中不起作用。我在another post中看到tabindex="0"
属性应该添加到应该接收焦点的元素中(虽然我不确定是哪个元素,但我尝试将其放在包含渲染 iframe 的元素中)父文档、iframe 元素本身以及 iframe 内的容器 div)。
有人能解释一下吗?我很想知道为什么会发生这种情况。
更新:
我刚刚在 JSFiddle 上上传了相同的代码,但遇到了同样的问题。键盘控件适用于 Chrome,但不适用于 Firefox:
最佳答案
在我使用 firebug 进行的测试中,您的问题似乎在这里:
$(window).keydown(function () {
// ^ --- no event object passed to function
game.onKeyDown(event, game);
});
查看正在运行的固定 fiddle ,here .
关于javascript - Firefox 的 iframe 内未触发关键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15237924/