单击到 iframe 时如何隐藏父元素

Posted

技术标签:

【中文标题】单击到 iframe 时如何隐藏父元素【英文标题】:How to hide a parent element when click to iframe 【发布时间】:2015-10-05 08:44:58 【问题描述】:

为什么我在不同域中时无法将事件从 iframe 传递给父级

window.onload = function () 
    myFrame = document.getElementById('test2');
    myFrame.contentDocument.addEventListener('click', function()
    
        $("test1").hide();
    );
;
<div id="test1" style="width:150px;height:150px;position:relative;">
    <iframe id="test2" src="http://www.w3schools.com"></iframe>
</div>

我想要这样的东西:http://jsfiddle.net/nqTnz/15/

我尝试使用不同域的相同代码但不起作用:http://jsfiddle.net/z6tco5rg/

【问题讨论】:

对于security reason 同源策略限制阻止它 capture click on div surrounding an iframe 的可能副本 【参考方案1】:

不确定是否相关,但请阅读此链接:

http://www.codeproject.com/Tips/585663/Communication-with-Cross-Domain-IFrame-A-Cross-Bro

【讨论】:

以上是关于单击到 iframe 时如何隐藏父元素的主要内容,如果未能解决你的问题,请参考以下文章

如果删除了父元素,则隐藏 Bootstrap Popover

ios上网页iframe里,把页面下拉,进行元素的隐藏显示和增删节点的dom操作页面会瞬间回到顶部

jquery如何获取父元素的子元素

jQuery show/fadeIn 不将 display:block 应用于隐藏的父元素内的子元素 - 仅限 FireFox

单击 iframe 中的按钮 > 在父窗口中隐藏 div

jq 在iframe中点击按钮,父元素触发事件