2016-09-11 5 views
0

私はパソコンで正常に動作する次のコードを使用していますが、モバイルGoogle Chromeのブラウザのユーザーは無効にしたスペースバーを使用できます。無効になっていてもスペースバーがアンドロイドのGoogle Chromeで動作する

<script language="javascript" type="text/javascript"> 
function check(e) { 
    var keynum 
    var keychar 
    var numcheck 
    if (window.event) { 
     keynum = e.keyCode; 
    } 
    else if (e.which) { 
     keynum = e.which; 
    } 
    keychar = String.fromCharCode(keynum); 
    if (keychar == " " || keychar == "'" || keychar == "`" || keychar =="!" || keychar =="@" || keychar =="#" || keychar =="$" || keychar =="%" || keychar =="^" || keychar =="&" || keychar =="*" || keychar =="(" || keychar ==")" || keychar =="-" || keychar =="+" || keychar =="=" || keychar =="/" || keychar =="~" || keychar =="<" || keychar ==">" || keychar =="," || keychar ==";" || keychar ==":" || keychar =="|" || keychar =="?" || keychar =="{" || keychar =="}" || keychar =="[" || keychar =="]" || keychar =="¬" || keychar =="£" || keychar =='"' || keychar =="\\") { 
     return false; 
    } else { 
     return true; 
    } 
} 
</script> 

_と - 以外のものも入力しないようにしてください。コピー貼り付けも無効にする必要があります。

答えて

0

answer by Stephan の可能性のある重複私はあなたがあなたの関数にあなたのイベントを渡しているかどうかはわかりませんが、あなたはwindow.onkeydownを使用して試してみて、説明したようdocument.bodyにe.targetことができます。

コードを整理するのに役立つスニペットはありますか?

var keylist = [ "_", "-"]; 
 

 
window.onkeydown = function(e) { 
 
    keychar = String.fromCharCode(e.keyCode); 
 
    if(keylist.indexOf(keychar)===-1 && e.target == document.body){ 
 
     e.preventDefault(); 
 
     return false; 
 
    } 
 
}

+0

感謝メイトの使用は、私が提出された入力にそれを使用していただきましたことを感謝し –

+0

? –

+0

このスニペットは、ウィンドウのグローバルスペースに適用されます。入力フィールドにキー入力を登録する場合は、次のように入力します。http://stackoverflow.com/questions/11365686/how-to-get-text-of-an-input-text-box-during-onkeypress – Sam0

関連する問題