javascript - 通过按钮关闭一个iframe类型的弹出模态窗口

标签 javascript jquery magnific-popup

我有一个父页面和子页面为 jquery 事件共享相同的 file.js 文件。

我正在使用 Magnific Popup 并且我有:

$("#addDetailButton").magnificPopup({
        items: {
              src: 'someURL'
        },
        type: 'iframe',
        enableEscapeKey: false,
        modal: true

});

我的弹出窗口基于 iframe 并且是 modal。如何使用 button html 元素关闭模态窗口?我对 StackOverflow 和所有基于 inline 类型的回复进行了研究。

我试过了

<input id="cancel" type="button" value="Cancel"/> // child page

$("#cancel").click(function(){
        $.magnificPopup.close();
});

我总是通过 Firefox 的 Web 控制台收到以下内容:

TypeError: $.magnificPopup is undefined

谢谢

最佳答案

Iframe 有自己的范围,它不能直接访问周围的范围。但是您可以在主窗口中使用父全局变量。

试试这个:

parent.$.magnificPopup.close();

您可以在此处找到有关此主题的更多信息:Calling a parent window function from an iframe

关于javascript - 通过按钮关闭一个iframe类型的弹出模态窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26044295/

相关文章:

javascript - 内容更改时 Magnific Popup iframe 自动调整大小(跨域)

javascript - 华丽的弹出窗口 : source title from span

javascript - 是否可以通过 JavaScript 控制 TeeChart 中的缩放?

javascript - jQuery.next() 返回空对象

javascript - 何时更喜欢 JSON 而不是 XML?

javascript - Jquery - 查找起始元素与该选择器最接近的父元素匹配的所有元素

magnific-popup - 带有 html5 视频的宏伟弹出窗口

javascript - 使用 jquery 缩放 div 的高度 - 谷歌将如何 react (SEO)?

javascript - 捕捉 Windows 应用商店应用程序时从 GridView 切换到 ListView

javascript - Bootstrap 选项卡中的 Google map