スペースバーを押したときにスクロールダウンを無効にしたい。これはFirefoxでのみ発生します。スペースバーを押したときにスクロールダウンしないfirefox
私は既にoverflow:hiddenタグとmetaタグビューポートを使用しています。
ありがとうございました。
スペースバーを押したときにスクロールダウンを無効にしたい。これはFirefoxでのみ発生します。スペースバーを押したときにスクロールダウンしないfirefox
私は既にoverflow:hiddenタグとmetaタグビューポートを使用しています。
ありがとうございました。
これはトリックを行う必要があります。ページ/ドキュメント上でスペースバーを押すと、デフォルト動作を妨げるだけでなく、元の状態に戻ります。
return falseにはpreventDefaultが含まれているようです。 Source
は、KeyDownイベントイベントの詳細についてはJQueryのAPIをチェック - http://api.jquery.com/keydown/
window.onkeydown = function(e) {
return !(e.keyCode == 32);
};
jQueryの例
$(document).keydown(function(e) {
if (e.which == 32) {
return false;
}
});
EDIT:
を@アンバー・ド・黒が述べたように"上記のコードは、 HTML入力上のスペースキー "を選択します。この問題を解決するには、e.target
スペースバーを正確にブロックしたい場所。これにより、スペースバーがHTML入力のような他の要素をブロックするのを防ぐことができます。
この場合、ボディターゲットと共にスペースバーを指定します。これにより、入力がブロックされなくなります。
window.onkeydown = function(e) {
if (e.keyCode == 32 && e.target == document.body) {
e.preventDefault();
}
};
注:あなたはjQueryのではなくe.keyCode
Sourceのe.which
を使用して使用している場合。
The event.which property normalizes event.keyCode and event.charCode
jQueryのイベントの様々な正規化として作用します。それを読んでいる人にとっては驚きになるでしょう。彼らのEvent Objectのドキュメントを読むことをお勧めします。
このコードは、HTML入力のスペースキーを押すことをブロックすることができます。あなたは完全な正解をここ(e.target === document.body)でチェックする必要があります:http://stackoverflow.com/a/22559917/3120495 – Ujeenator
JavaScriptでkeydownイベントをキャプチャしようとしましたか?あなたはjQueryのを使用している場合は、ここでキーイベントをキャプチャする詳細を読むことができます: http://api.jquery.com/keydown/
あなたがいない場合は、ここで説明するように、あなたがスペースバーのキー入力をキャプチャし、無視することができます。スペースバーがある場合 https://stackoverflow.com/a/2343597/1019092
@Alberto - 「これは、ほとんどのブラウザで予想される動作です。私はそれを使用しています。すべての時間と私は非常にページ内で動作しないときに非常に迷惑を取得します。 "* –
を検出します押されている。そうであれば、そのデフォルト動作を防ぎます。
document.documentElement.addEventListener('keydown', function (e) {
if ((e.keycode || e.which) == 32) {
e.preventDefault();
}
}, false);
右側の「関連する」サイドバーを確認してください。 http://stackoverflow.com/questions/2343573/pressing-spacebar-moves-page-down – showdev