2011-05-09 5 views
1

파일 입력시 onkeydown, onkeypress 및 onkeyup 이벤트를 발생 시키려고했습니다 (예 : 요소가 포커스가 있고 키를 누르면 이벤트가 발생하지 않음). 그러나 Opera에서 작동하지 않습니다. . jQuery로 '클릭'을 실행해도 작동하지 않습니다 (예 : $ ('# myFileinput')).() 또는 $ ('# myFileinput').오페라의 입력 유형 파일

Opera에서 이러한 이벤트를 트리거 할 수있는 방법이 있습니까?

<input type="file" class="foo" /> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script> 
<script type="text/javascript"> 
    debugger; 
    window.onload = onPageLoad; 
    function onPageLoad() { 

     var input = $(".foo"); 
     debugger; 
     input.keydown(function() { 
      //doesn't work in Opera 
      alert("keydown"); 
     }); 

     input.keypress(function() { 
      //doesn't work in Opera 
      alert("keypress"); 
     }); 

     input.keyup(function() { 
      //doesn't work in Opera 
      alert("keyup"); 
     }) 
    } 

    window.onkeydown = function() { 
     //when the focus is on the input the code bellow doesn't fire 
     alert("window key down") 

    } 

</script> 
+0

몇 가지 코드를 게시 할 수 있습니까? – reporter

답변

4

인해 보안 정책에,이 제한됩니다 어떤 입력 유형의 이벤트 오페라 화재 = 파일 :

여기 내 코드입니다. 또한 새로운 오페라 버전에서는 입력 내용이 파일 대화 상자를 가져 오므로 어쨌든 중요한 이벤트는 입력에 대해 실행되지 않습니다. 값 변경시기를 알아야 할 경우 변경 이벤트를 수신하십시오.

+0

출처에서 바로 답변. 이 +1 할 수는 없습니다 : D –

+0

Developertools가 열려있을 때 FileDialog가 오페라에서 작동하지 않습니다. – efkah

관련 문제