2014-10-15 1 views
2

그래서 다음 키는 눌린 키가 숫자, 공백 또는 삭제 키인 곳을 감지합니다. 그렇지 않으면 텍스트 필드에 키가 입력되지 않습니다. Chrome과 IE에서 완벽하게 작동합니다. FireFox에서 실행할 때 다음 오류가 발생합니다. returnValue는 다음 문에서 정의되지 않습니다. e.event.returnValue = false; ReturnValue를 정말 아니라고Sencha ExtJs TextField KeyFinder의 KeyDown 이벤트

function isNumberKey(e) 
{ 
//Local Varaible Declaration 
var returnValue = false; 

if (e.keyCode >= 96 && e.keyCode <= 105) 
{ 
    returnValue = true; 
} 
else if (e.keyCode >= 48 && e.keyCode <= 57) 
{ 
    returnValue = true; 
} 
else if (e.keyCode == 8 || e.keyCode == 46) 
{ 
    returnValue = true; 
} 

return returnValue; 

}

나는 파이어 폭스에서 디버거에서보고 발견 : 작업을 수행

keydown:function(sender, e, eOpts) 
        { 
         if (!isNumberKey(e)) 
         { 
          e.event.returnValue = false; 
         } 
        } 

기능 : 여기

코드입니다 그곳에. 대신 무엇을 사용해야합니까? FireFox에서이 작업을 수행 할 수있는 방법이 있어야합니다.

감사합니다,

조쉬

답변

2

그것은 4 시간 같은 날 데려 갔어하지만 여기에 솔루션입니다. 희망이 있습니다.

keydown:function(sender, e, eOpts) 
         { 
          if (!isNumberKey(e)) 
          { 
           if (Ext.browser.is.Firefox) 
           { 
            e.event.preventDefault(); 
           } 
           else 
           { 
            e.event.returnValue = false; 
           } 
          } 
         }