2016-11-10 8 views
0

プロジェクトのすべてのWebページでバックスペースを無効にする必要があります。 e.preventのデフォルトが動作していないようバックスペースを押すと、Webページは、単純に前のページに移動します。どんな解決策ですか?e.preventdefault()が使用されていても、警告ウィンドウが表示された後、Firefoxでバックスペースが働いています

if(input){ 
alert("wrong input"); 
} 

function disableBackSpace(e){ 
    var doPrevent = false; 
    if (e.keyCode === 8) { 
     var d = e.srcElement || e.target; 
     if ((d.tagName.toUpperCase() === 'INPUT' && 
      (
       d.type.toUpperCase() === 'TEXT' || 
       d.type.toUpperCase() === 'PASSWORD' || 
       d.type.toUpperCase() === 'FILE' || 
       d.type.toUpperCase() === 'SEARCH' || 
       d.type.toUpperCase() === 'EMAIL' || 
       d.type.toUpperCase() === 'NUMBER' || 
       d.type.toUpperCase() === 'DATE') 
      ) || 
      d.tagName.toUpperCase() === 'TEXTAREA') { 
      doPrevent = d.readOnly || d.disabled; 
     } 
     else { 
      doPrevent = true; 
     } 
    } 

    if (doPrevent) { 
     e.preventDefault(); 
    } 
} 

上記の方法は、バックスペースキーを押すたびに呼び出されますが、警告ウィンドウが表示されているときは機能しません。基本的には上記のバックスペースコードは、すべてのウェブページ用のJSPページとして含まれています。

+1

た**警告**あなたが話しているの?いくつかのコードを表示 – Vikrant

+0

[すべてのブラウザでバックスペースキーを無効にする方法は?](http://stackoverflow.com/questions/6309693/how-can-i-disabling-backspace-key-press-on-all) -browsers) – Liam

+0

非jQueryバージョン、おそらくより重複して:[onkeydownイベントでバックスペースをキャプチャする方法](http://stackoverflow.com/questions/2353550/how-to-capture-a-backspace- on-on-onkeydown-event) – Liam

答えて

0

$(document).keydownにバックスペースコードを追加してください。

アラートやポップアップが開いているかどうかにかかわらず、文書全体に表示されます。

$(document).keydown(function(e) { 
      if (e.keyCode == 8) alert('Not Allowed'); 
    }); 

JsFiddle Demo

+0

質問やタグでのjQueryの。 ** OPへの注意**:あなたがまたは動作していない – Liam

+0

同じ結果を行うにはしたくない場合がありjQueryのライブラリが含まれていない限り、これは動作しません、私は、scriptタグの下に右のJSPページにこのスクリプトを入れています彼は上記の – vishalaestro

+0

でもコードは、仕事アラートウィンドウを削除して、私たちはバックスペースを押すとページが戻ります.still)(e.preventDefaultを入れていないだろう – vishalaestro

関連する問題