2011-01-05 6 views
17

왜 작동하지 따르고있다?트리거 이벤트는

+0

iframe 상위 창에서 [click click 이벤트]의 가능한 복제본 (http://stackoverflow.com/questions/3521947/trigger-click-event-in-iframe-parent-window) –

답변

36

이벤트를 추적하는 경우 동일한 문서에서만 이벤트를 트리거하거나 수신 할 수 있습니다.

다음은 iframe에서 일반 함수로 호출

window.parent.$(window.parent.document).trigger('complete'); 
+0

본질적으로 동일한 문제가 있습니다. YUI3, 어떤 팁? – danjah

+0

@Danjah 전 YUI를 사용한 적이 없기 때문에 내가 도울 수 있는지 확신 할 수 없습니다. 그러나 비슷한 접근법을 사용할 수도 있습니다. window.parent.YUI.use ('node-event-simulate', function (Y) {Y.one (window.parent.document) .simulate ('click ');}); 그러나 iframe 대신 필요한 메소드를 부모에게 노출시켜야 할 수도 있습니다. 아래 @ken Redler의 제안을 참조하십시오. – HackedByChinese

+0

알았어, 대단히 고마워 - 분명히 그에게 배쉬를 줄 것이다. 나는 기존의 핸들러를 작동 시키려고하기 전에 이벤트를 시뮬레이션하기 시작하는데 조심 스러웠다.하지만 그렇게해야 할 수도있다. – danjah

10

당신은 부모 문서의 트리거 기능을 추가하는 시도 할 수보십시오. 이렇게하면 적절한 문서 컨텍스트에서 이벤트를 트리거 할 수 있습니다.

// In Parent 
function triggerComplete() { 
    $(document).trigger('complete'); 
} 

// In iFrame 
window.parent.triggerComplete(); 
-5

체크

top.frames [ 'FRAME_NAME'], 매우 까다로운 용액 document.getElementById를 ("처리") = style.display를 '없음.'.;