我有自己的小型自制JSFiddle网站,我主要是为了好玩而建立的,到目前为止,它工作得非常好,但我只在Chrome中开发。我想提一下,因为我认为我的问题可能(希望)可以通过更改我的小沙箱来修复,但这是我的主要问题:
在我的沙盒中,我开发了一个小型的Snake实现,它依赖于keydown事件来控制播放器。 Chrome中的一切都运行正常,我对它很满意,但在Firefox中,我无法控制播放器。你可以在这里看到我的设置:
http://willseph.com/sandbox/?id=ORWx7miv
播放器应该用箭头键或WASD控制,但它们似乎不适用于Firefox。我在another post中看到tabindex="0"
属性应该添加到应该获得焦点的元素中(尽管我不确定哪个元素会是,我尝试将它放在持有渲染iframe的元素中在父文档中,iframe元素本身和iframe内的容器div。
有人可以对此有所了解吗?我想知道为什么会这样。
更新
我刚刚在JSFiddle上传了相同的代码,我遇到了同样的问题。键盘控件适用于Chrome但不适用于Firefox:
答案 0 :(得分:2)
在我使用firebug进行的测试中,您的问题似乎在这里:
$(window).keydown(function () {
// ^ --- no event object passed to function
game.onKeyDown(event, game);
});
请参阅固定小提琴,here。