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