javascript - Firefox 的 iframe 内未触发关键事件

标签 javascript jquery firefox iframe jquery-events

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

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

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

播放器应该用方向键或 WASD 控制,但它们似乎在 Firefox 中不起作用。我在another post中看到tabindex="0" 属性应该添加到应该接收焦点的元素中(虽然我不确定是哪个元素,但我尝试将其放在包含渲染 iframe 的元素中)父文档、iframe 元素本身以及 iframe 内的容器 div)。

有人能解释一下吗?我很想知道为什么会发生这种情况。

更新:

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

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

最佳答案

在我使用 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/

相关文章:

javascript - 使用 jqueryui 的自动完成时的附加参数

javascript - fullcalendar:只有在我通过事件函数加载我的事件后,才有办法调用 dayRender

java - 当页面第一次加载时,webdriver需要很长时间才能找到第一个元素。

html - css - table-cell div 在 Firefox 和 IE 中超出屏幕

javascript - "Automatic YouTube videos to site uploader"

javascript - AngularJS : index not updating after removing array item(s) by index

javascript - 从嵌入的 Google Sheet 中删除 Google Border

jquery - vue.js 'document.getElementById' 速记

php - 如何在不使用 Canvas 的情况下将整个 div 数据转换为图像并将其保存到目录中?

Firefox : "Couldn' t parse invalid source chrome-extension"中的 Facebook JS API 初始化错误