2011-09-12 2 views
0

String.fromCharCode(keyCode)이 Firefox에서 작동하지 않습니다.`String.fromCharCode (keyCode)`가 Firefox에서 작동하지 않습니다.

예를

  • 을 위해 나는 세미콜론 키를 누르고는 1/4 기호를 던졌습니다.
  • 숫자 패드는 문자를 던집니다.

event.key attrubute가 FF에서 지원되지 않으므로 일부 필드 유효성 검사를 위해이 방법을 사용하고 있습니다.

+0

니스 편집, 감사합니다! – ricbecen

답변

0

키 코드는 키보드에있는 키의 숫자 식별자입니다. 이 코드는 생성 된 문자의 유니 코드 코드 포인트 인 charcode와 거의 무관합니다.

그래서 fromCharCode에 대한 인수로 키 코드를 사용하면 거의 확실하게 쓰레기를 줄 수 있습니다.

실제로 키 코드로 무엇을하려고합니까? 그 이유는 무엇입니까?

+0

숫자 및 세미콜론에 대한 키 검증에 대한 일부 검증을 시도하고 있습니다. – ricbecen

+0

키 누르기가 아닌 키 누르기가 아닌 이유는 무엇입니까? –

+0

keypress가 문자열을 상자에 표시 할 수 있기 때문에 허용되지 않는 문자를 차단하려고합니다. – ricbecen

2

FF로 이벤트 .을 사용하십시오. 이것을 참조 할 수 있습니다 example

0

event.keyCode 대신 event.charCode를 시도하십시오. 그것은 크롬과 파이어 폭스에서 작동합니다.

0

$('#Name_Var').keypress(function (event) { 
 
    event = event || window.event; 
 
    var charCode = event.which || event.keyCode; 
 
    var charStr = String.fromCharCode(charCode); 
 
    // FireFox key Del - Supr - Up - Down - Left - Right 
 
    if (event.key !== undefined && event.charCode === 0) { 
 
     return; 
 
    } 
 
    //Only Num 
 
    if (!/^([0-9])*$/.test(charStr)) { 
 
     event.preventDefault(); 
 
    } 
 
    //Num and letters 
 
    if (!/^[a-zA-Z0-9]+$/.test(charStr)) { 
 
     event.preventDefault(); 
 
    } 
 
});

관련 문제