我正在使用这个模组:
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 应该 fadeIn
和 fadeOut
的内容。 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/