2012-12-25 6 views
5

keyCode(13)을 입력하면 모든 브라우저에서 정상적으로 작동합니다.스페이스 바 keyCode (32)가 Mozilla Firefox에서 작동하지 않습니다.

스페이스 바 keyCode(32) Chrome에서 테스트 한 결과 제대로 작동하지만 Firefox에서는 응답하지 않습니다. 다음 코드를 사용했습니다 :

<script type="text/javascript" > 
    function enterPressed(evn) { 
     var e_id = $('e_id').value; 
     var e_fname = $('e_fname').value; 
     var e_role = $('e_role').value; 

     if (window.event && window.event.keyCode == 13) { 
      Monitor.Order.assign(e_id, e_fname, e_role); 
     } else if (evn && evn.keyCode == 13) { 
      Monitor.Order.assign(e_id, e_fname, e_role); 
     } else if (evn && evn.keyCode == 32) { 
      Monitor.Order.updateStatus('COOKED'); 
     }      
    } 
    document.onkeypress = enterPressed;  
</script> 

Firefox에서 작동하는 이유는 Firefox에서 작동하지 않는 이유는 무엇입니까?

+0

시도해 보셨습니까? 'evn = evn || window.event'? – vusan

+0

다음을 확인하십시오 : http://stackoverflow.com/questions/7051112/event-which-doesnt-workin-in-firefox – Disa

+0

아니요, 그렇지만 어떻게 해야할지 모르겠습니다. – Fi3n1k

답변

0

function enterPressed(evn) { 
if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x 

     var e_id = $('e_id').value; 
     var e_fname = $('e_fname').value; 
     var e_role = $('e_role').value; 

     if (evn.which == 13) { 
      Monitor.Order.assign(e_id, e_fname, e_role); 
     } else if (evn.which == 13) { 
      Monitor.Order.assign(e_id, e_fname, e_role); 
     } else if (evn.which == 32) { 
      Monitor.Order.updateStatus('COOKED'); 
     }     
    } 

    else{ 
      var e_id = $('e_id').value; 
      var e_fname =$('e_fname').value; 
      var e_role = $('e_role').value; 

      if (window.event && window.event.keyCode == 13) { 
       Monitor.Order.assign(e_id, e_fname, e_role); 
      } else if (evn && evn.keyCode == 13) { 
       Monitor.Order.assign(e_id, e_fname, e_role); 
      } else if (evn && evn.keyCode == 32) { 
       Monitor.Order.updateStatus('COOKED'); 
      } 

     } 
    } 
    document.onkeypress = enterPressed; 
+0

헤이 메이트가 당신의 해결 된 해결책입니다 –

5

공간은 인쇄 가능한 문자입니다 ....이 잘 작동이 코드를 시도, 그래서 키 누름 이벤트는에 해당하는 문자로 charCode 세트가되고 keyCode하지 않습니다 Firefox의 keypress 이벤트에서 설정하십시오. 일반적으로

, 당신의 keyup /를 keyDown에서 키를 누를 때, keyCode에 인쇄 할 수있는 것들에 대한 charCode을 사용하고 싶습니다.