2012-03-11 7 views
3
.keydown(function(e){ 
     alert(e.keyCode); 
... 

「バックスペース」ボタンのキーとして8を返します。問題は、ブラウザが歴史の中に戻ってくることです!バックスペースキーが前のページに移動しないようにする

これはWindowsブラウザの最も厄介な動作です。削除とバックスペースキーでリストボックスの値をクリアしようとしています。私はこの動作が嫌いです。IEとChromeではまったく同じです。

私はバックスペースキーを使用できますか?しかし、これは入力フィールドで動作するようにバックスペースを予防することを

$(document).keydown(function(e){ 
    if (e.keyCode == 8) e.preventDefault(); 
}); 

注:

答えて

9

だけpreventDefault()を使用しています。

$(document).keydown(function(e){ 
    if (e.keyCode == 8 && e.target.tagName != 'INPUT' && e.target.tagName != 'TEXTAREA') { 
     e.preventDefault(); 
    } 
}); 
+0

まあから離れて移動する場合には、人々に警告するためにonbeforeunloadイベントを使用することができ、私はちょうどなきゃ使用:これは、簡単に次のように改善することができそれは私のリストボックスです。しかし、助言のおかげで! – Anonymous

+0

ああ、2番目のことはとてもきれいに見えます。多くのありがとう!編集:唯一の問題は、それが動作しないことです - imputs somewhy無視しません。 – Anonymous

+0

これが正解user1125062であれば、そのようにマークしてください。 – DaveDev

0

使用でpreventDefault()と余分なガードとしてあなたは彼らがあなたのページ