[JQUERY] 상위 창의 핸들러에 iframe에 이벤트를 첨부하십시오.
JQUERY상위 창의 핸들러에 iframe에 이벤트를 첨부하십시오.
해결법
-
1.contents ()를 사용하여 iframe 내부의 문서 개체에 액세스하십시오. 하나의 문서에서 jQuery 라이브러리를 사용하여 다른 문서를 조작하여 일반적으로 피해야 함을 알 수 있습니다. 그러나 바인딩 이벤트의 경우에는 작동합니다.
contents ()를 사용하여 iframe 내부의 문서 개체에 액세스하십시오. 하나의 문서에서 jQuery 라이브러리를 사용하여 다른 문서를 조작하여 일반적으로 피해야 함을 알 수 있습니다. 그러나 바인딩 이벤트의 경우에는 작동합니다.
$('[name=temp_iframe]').contents().find('button').click(function() { alert('click'); });
이를 위해서는 iframe과 해당 내용이로드되어야하므로 필요할 경우 $ (윈도우) .Load () 핸들러에서 수행해야합니다. 이벤트가 자식 문서에서 부모로 전파되지 않으므로 문서간에 Live / Delegate를 사용할 수 없습니다.
-
2.일반 JavaScript에서는 다음과 같습니다.
일반 JavaScript에서는 다음과 같습니다.
document.getElementById("frameId").contentDocument.getElementById("buttonId").click();
속성 값 및 태그 이름으로 요소를 검색 해야하는 경우 다음을 수행 할 수 있습니다.
document.querySelectorAll('[name=temp_iframe]')[0].contentDocument.getElementsByTagName('button')[0].click();
from https://stackoverflow.com/questions/3672726/attach-an-event-in-a-child-iframe-to-a-handler-in-the-parent-window by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 텍스트를 편집 한 후 TextArea에 추가되지 않음 jQuery .append () (0) | 2020.11.02 |
---|---|
[JQUERY] 다른 드롭 다운 목록의 선택에 따라 하나의 드롭 다운 목록을 채 웁니다. (0) | 2020.11.02 |
[JQUERY] jquery.ajax와 JSONP와 헤더를 설정하십시오. (0) | 2020.11.02 |
[JQUERY] Div에서 선택한 텍스트의 HTML을 가져옵니다 (0) | 2020.11.02 |
[JQUERY] jQuery Mobile에 HTML을 동적으로 추가 한 후 섹션을 새로 고칩니다 [복제] (0) | 2020.11.02 |