2016-09-11 1 views
0

친구들 컴퓨터에서 잘 작동하는 다음 코드를 사용하고 있지만 모바일 Google 크롬 브라우저 사용자는 사용할 수없는 스페이스 바를 사용할 수 있습니다.스페이스 바를 사용할 때도 안드로이드 Google 크롬에서 작동합니다.

<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 당신의 이벤트에 당신의 이벤트를 어떻게 전달하고 있는지는 잘 모르겠지만, 설명대로 document.body에 window.onkeydown과 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

관련 문제