0

私は自分の小さな手作りの JSFiddle Web サイトを持っています。これは主に楽しみのために作成したもので、これまでのところかなりうまく機能していますが、開発は Chrome のみで行っています。私の小さなサンドボックスを変更することで(うまくいけば)問題を解決できると思うので、これについて言及したいと思いますが、ここに私の主な問題があります:

私のサンドボックスでは、プレーヤーを制御するためにキーダウン イベントに依存する小さな Snake 実装を開発しました。Chrome ではすべて正常に動作し、非常に満足していますが、Firefox ではプレーヤーを制御できません。ここで私のセットアップを見ることができます:

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

プレーヤーは矢印キーまたは WASD で制御されるはずですが、Firefox では機能しないようです。別の投稿で、フォーカスを受け取る必要がある要素に属性を追加する必要があることを見ましたtabindex="0"(どの要素になるかはわかりませんが、親ドキュメント内のrender iframeを保持する要素であるiframe要素に入れてみました自体、および iframe 内のコンテナー div)。

誰でもこれに光を当てることができますか?なぜこれが起こっているのかを理解したいと思います。

アップデート:

JSFiddle に同じコードをアップロードしたところ、同じ問題が発生しています。キーボード コントロールは Chrome では機能しますが、Firefox では機能しません。

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

4

1 に答える 1

2

あなたの問題は、私のfirebugでのテストでは、ここにあるようです:

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

ここで、固定されたフィドルの動作を参照してください

于 2013-03-06T06:12:53.627 に答える