IEでは、(ひどく非標準ですが機能している)jQueryでこれを行うことができます
if ($.browser.msie)
$(document).keydown(function(e) { if (e.keyCode == 8) window.event.keyCode = 0;});
しかし、Firefoxで動作する方法で、またはボーナスのためにクロスブラウザの方法で行うことは可能ですか?
記録のために:
$(document).keydown(function(e) { if (e.keyCode == 8) e.stopPropagation(); });
何もしません。
$(document).keydown(function(e) { if (e.keyCode == 8) e.preventDefault(); });
問題は解決しますが、ページでバックスペースキーが使用できなくなります。これは、元の動作よりもさらに悪いものです。
編集:これを行う理由は、単純なWebページではなく大きなアプリケーションを作成しているためです。間違った場所でバックスペースを押したからといって、10分の作業を失うのは信じられないほど煩わしいことです。間違いを防止することとユーザーを煩わしいものにすることの比率は、バックスペースキーが戻るのを防ぐことにより、1000/1をはるかに超える必要があります。
EDIT2:私は履歴ナビゲーションを防止しようとしているのではなく、ただの事故です。
EDIT3:@brentonstrinesコメント(質問が非常に人気があるため、ここに移動しました):これは長期的な「修正」ですが、サポートを Chromiumバグの、Webkitでこの動作を変更