これはキャッチ 22 です。解決方法がわかりません。私たちがホストしているこの HTML5 ゲームを見てみましょう:
http://www.scirra.com/arcade/action/93/8-bits-runner - 警告音あり!
ページは でホストされていますが、セキュリティ上の理由からscirra.com
、ゲームは iframe にあります。static1.scirra.net
ゲームのプレイ中に左右上下を押すと、ウィンドウ全体が上下左右にスクロールします。ゲームがフォーカスされていない場合、防止のデフォルトは問題なく機能するようです。もちろん、ゲームをプレイするときは、このデフォルト アクションを防止したいと考えています。したがって、次のコードを使用します。
var ar = new Array(32, 33, 34, 35, 36, 37, 38, 39, 40, 44);
$(document).keydown(function (e) {
var key = e.which;
if ($.inArray(key, ar) > -1) {
e.preventDefault();
return false;
}
return true;
});
これを親ページと iframe ページに配置します。iframe にフォーカスがある場合、左右がブロックされているように見えますが、そうではありませんup and down
。
ページのスクロールを停止し、ゲームの下のコメント ボックスにコメントを入力できるようにする方法を考えてくれる人はいますか? スペースバーをブロックすると、テキストにスペースを追加できなくなります!