1

すべてのゲームと同様に、キーを押すゲームを作成しています。左右の矢印とスペースバーのみ。それらは機能しますが、ブラウザはこれらのキーで左、右にスクロールするか、下にジャンプするように事前設定されています。コードでこれらのキーのバインドを解除する方法はありますか? ありがとう。

4

1 に答える 1

1

キーが押された後に false を返すことで、デフォルトのブラウザーの動作を防ぐことができるはずです。ただし、キーイベントをどのようにインターセプトするかによって、ブラウザーごとに、またキーの種類 (アルファと「コマンド」キー) でさえも異なるように見えます。

jquery preventDefault と stopPropagation も機能する可能性があります。このドキュメントの下部にあるコメントは、多くの良いヒントを提供します http://api.jquery.com/event.preventDefault/

そこの情報に基づいて、この小さなコードをまとめました。オペラとFirefoxの両方で、スペースバーと下/上矢印がスクロールバーを動かないようです

firebugコンソールが有効になっているFirefoxでこのコードを試してください(jqueryが必要です)

$(document).bind('keydown, keypress', function(event) {
  console.debug(event.keyCode + " - " + event.which);
  // event.preventDefault();
  return false;
});
于 2010-04-17T17:06:55.713 に答える