javascript - 在 iframe 中关闭 Facebox

标签 javascript jquery

我正在使用这个模组:

http://lnx.shortcutto701.com/2010/05/21/using-iframe-with-facebox-jquery-plugin/

我的问题是,如何在 iframe 中创建一个按钮来关闭 facebox。我一直在尝试这样的变体:

<button style="height: 50px;" onclick="window.parent.$.trigger('close.facebox')"><span class="button"><span>Cancel</span></span></button>

最佳答案

这是对我有用的:

我的页面在 DIV 中有一个 IFRAME,DIV 是 facebox 应该 fadeInfadeOut 的内容。 IFRAME 的 SRC 是一个页面,上面有一个链接,如下所示:

<a href="#" onclick="parent.close_facebox()">close this facebox modal</a>

在包含 DIV 和 IFRAME 的页面的 HEAD 中(不是调用 IFRAME 的页面),我有 JavaScript函数 close_facebox() 看起来像这样:

function close_facebox() { jQuery(document).trigger('close.facebox'); }

就是这样。尚未测试跨浏览器或在生产中。我花了几个小时在谷歌上搜索这个问题,并尝试了从将单引号更改为双引号、document-dot-this 和 parent-dot-that、window.frames['whatever'] 和这一行的一切尝试功能做到了。如果您尝试从调用 IFRAME 的页面触发该功能,则必须确保使用 parent.close_facebox()。希望这会有所帮助。

顺便说一句,请参阅 facebox.js ver 1.2 的第 47 和 49 行 - 这个解决方案就在 .js 文件本身的注释掉的“用法”部分中。我将第 49 行复制并粘贴到我的函数中,除了取消注释外没有改变任何东西:)

关于javascript - 在 iframe 中关闭 Facebox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6722220/

相关文章:

javascript - 滚动条在 JavaScript 中不工作

JQuery .load 函数破坏了其他 jQuery 函数

php - 多个文档就绪函数相互覆盖

按钮上的 jQuery 事件冒泡在 Firefox 中无法按预期工作

javascript - <br> 和\n 作为换行符有什么区别

javascript - 是否可以在循环中初始化多个 Javascript 数组?

javascript - Three.js - 给粒子圆形

javascript - 在 Jqgrid 中使用正则表达式

javascript - 使用 node express 从类渲染方法

javascript - 使用 jsViews/jsRender 并将属性重新调整为字典条目