我正在使用这个mod:
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>
答案 0 :(得分:2)
这对我有用:
我的页面在DIV中有IFRAME
,DIV是facebox应该fadeIn
和fadeOut
的内容。 IFRAME
的SRC是一个页面,上面有一个链接,如下所示:
<a href="#" onclick="parent.close_facebox()">close this facebox modal</a>
在包含DIV和HEAD
的页面的IFRAME
(不是调用IFRAME
的页面)中,我有一个看起来像close_facebox()
的JavaScript函数这样:
function close_facebox() { jQuery(document).trigger('close.facebox'); }
这就是全部。尚未经过跨浏览器测试或尚未投入测试。我花了几个小时谷歌搜索这个问题并尝试从单引号改为双引号,document-dot-this和parent-dot-that,window.frames['whatever']
以及这个单行函数。如果您尝试从调用IFRAME
的页面触发该功能,则必须确保使用parent.close_facebox()
。希望这会有所帮助。
答案 1 :(得分:1)
self.close()
$('.open').click(function(){
facebox = window.open("",
"facebox","status=1,width=350,height=150");
facebox.document.write('<h1>The Popup Window</h1><p><a onclick="self.close();" href="#">close</a></p>');
});
答案 2 :(得分:0)
您需要同时使用父级的jQuery对象并将父级文档作为jQuery参数传递:
parent.$(parent.document).trigger('close.facebox');