2016-06-01 2 views
1

너무 원시적 인 질문이 있지만 실제로 작동하지 않으므로 실제로 문제가됩니다. 그래서, 페이지에 iframe이 있고 doubleclick 이벤트를 원합니다. 내가 테스트 한 브라우저는 파이어 폭스입니다. 이것은 내가 무엇을 시도했다입니다 :iframe doubleclick 이벤트가 작동하지 않습니다.

var iframe = document.getElementsByClassName("cke_wysiwyg_frame")[0]; 
var iframeDocument = iframe.contentDocument || iframe.contentWindow.document; 
iframeDocument.ondblclick = function() { 
    alert("Test 1"); 
} 

이 : 그것은 단지 작동 어떤 이상한 이유로

iframeDocument.addEventListener("dblclick", function() { 
    alert("Test 2"); 
}); 

을, 나는 디버깅을 위해 콘솔을 열 때. 콘솔이 닫히면 작동을 멈 춥니 다.

Chrome과 IE에서 시도한 다른 브라우저에서는 전혀 작동하지 않습니다. 예를 들어 IE에서 시도 :

iframeDocument.attachEvent("dblclick", function() { 
    alert("Test 3"); 
}); 

그러나 작동하지 않습니다. 그래서, 그게 뭐가 잘못 되었나요? 콘솔에서 열린 FF로 작동하는 이유는 무엇입니까? 다른 브라우저에서도 작동하도록 만드는 방법은 무엇입니까? 부끄러운 줄 알아라!

답변

1

iframe의로드 이벤트를 볼 수 있습니다. 해고되면 iframe 내부의 문서에 ondblclick 이벤트를 할당 할 수 있습니다.

iframeDocument.attachEvent("onload", function() { 
    this.contentWindow.document.ondblclick = function() { alert('it work\'s'); } 
}); 
+0

IE 이외의 브라우저에서도 작동합니까? – Jacobian

+0

다른 브라우저를 지원하기 위해 조금 수정했는데 제대로 작동합니다. 올바른 방향을 가리켜 주셔서 감사합니다! – Jacobian

+0

늦게 답장을 드려 죄송합니다. IE 이외의 다른 브라우저에서는이 기능을 테스트하지 못했습니다. 마지막 버전을 게시 할 수 있습니까? 누군가에게 도움이 될 것이라고 생각합니다. –

관련 문제