0

我有自己的小型自制 JSFiddle 网站,主要是为了好玩而构建的,到目前为止它运行良好,但我只在 Chrome 中开发。我想提到这一点,因为我认为我的问题可能(希望)能够通过更改我的小沙箱来解决,但这是我的主要问题:

在我的沙箱中,我开发了一个小型 Snake 实现,它依赖于按键事件来控制播放器。在 Chrome 中一切正常,我对此非常满意,但在 Firefox 中,我无法控制播放器。你可以在这里看到我的设置:

http://willseph.com/sandbox/?id=ORWx7miv

播放器应该是用箭头键或 WASD 控制的,但它们似乎在 Firefox 中不起作用。我在另一篇文章中看到该tabindex="0"属性应该添加到应该获得焦点的元素中(虽然我不确定哪个元素会是,但我尝试将它放在父文档中包含渲染 iframe 的元素中,即 iframe 元素本身,以及 iframe 内的容器 div)。

任何人都可以对此有所了解吗?我很想弄清楚为什么会这样。

更新:

我刚刚在 JSFiddle 上上传了相同的代码,我遇到了同样的问题。键盘控件适用于 Chrome,但不适用于 Firefox:

http://jsfiddle.net/Ud876/1/embedded/result/

4

1 回答 1

2

你的问题,在我用萤火虫的测试中,似乎在这里:

$(window).keydown(function () {
    //                      ^ --- no event object passed to function
    game.onKeyDown(event, game);
});

请参阅此处的固定小提琴。

于 2013-03-06T06:12:53.627 回答