2012-03-20 4 views
1

내가 정말로하고 싶은 것은 iframe에서 keydown 이벤트를 캡처하고 다른 작업을하는 것입니다. 나는 인터넷에서 검색하지만 모든 자료는 페이지의 iframe에 관한 것이지만 내가 직면 한 것은 iframe의 iframe입니다. 내 코드는 아래에 있으며 iframe이 중첩되어 있지 않으면 잘 작동합니다. 아무도 내게 어떤 조언을 줄 수 있습니까?중첩 된 iframe에서 이벤트를 처리하는 방법은 무엇입니까?

$("iframe").each(function(i) {    
     var currentIframe=this;      
     $(this).load(function(event) { 
      var iFrameDoc =currentIframe.contentDocument || currentIframe.contentWindow.document;      

      $(iFrameDoc).find("input").each(function(i) { 

       $(this).keydown(function(event) {         
        event.stopPropagation();  
       });      
      }); 

      $(iFrameDoc).keydown(function(event) {     
       var code = (event.keyCode ? event.keyCode : event.which); 
       var e = jQuery.Event("keydown");     
       e.which = code; // # Some key code value  
       $input.trigger(e); 
      }); 

      $(iFrameDoc).mousemove(function(event) {  
         currentMousePos.x=currentIframe.offsetLeft+event.pageX; 
         currentMousePos.y=currentIframe.offsetTop+event.pageY; 
      });       

     });     
}); 

답변

0

코드 $("iframe").each()은 중첩 된 iframe을 얻을 수 있습니다. 다음과 같이 코드를 작성할 수 있습니다. $($("iframe").contentWindow).find("iframe").each(...)

관련 문제