使用2种方法关闭iframe内部的Shadowbox

时间:2011-09-16 18:18:39

标签: javascript jquery shadowbox

我已经搜索过SO以寻找类似的问题,但这些方法都不适用于我 我有一个影子框,可以点击一下打开:

<a href="/form/foo" rel="shadowbox;height=400;width=510">Open</a>

这很好用,我的表单最适合这种方法(即我可以使用

轻松关闭我的表单
window.parent.Shadowbox.close();

问题..我有一个ajax的数据页面,我想为这些“未来”元素加载一个shadowbox,我想通过使用jquery委托函数来做这件事。

// Open our form manually
$('body').delegate("#video-form-edit", "click", function(e){
          e.preventDefault();
          var url = $(this).attr('href'); // Our URL
          Shadowbox.open({
                content:    url,
                player:     "iframe",
                height:     400,
                width:      510
            });
});

// If I want to close ^ this ^ shadowbox, how do i do it?
// window.parent.Shadowbox.close(); // Doesnt work

问题是我无法使用上面的“外部”加载的阴影框关闭使用委托方法打开的表单,
他们是更好的方式吗?如何关闭使用委托方法加载的影子框。

EDIT

<小时/> 我一直收到错误无法调用未定义的方法'close'。
编辑2 好吧,既然没有答案,我发现我可以使用:

parent.window.location = parent.window.location.href;

要重定向到父窗口,虽然这不是我想要的,但它可能是某人的解决方案。

1 个答案:

答案 0 :(得分:0)

Duh ..我简直不敢相信没有人得到它!18个小时之后..
我需要将ID更改为班级 更改$('body').delegate("#video-form-edit", "click", function(e){
至-----&gt; $('body').delegate(".video-form-edit", "click", function(e){
还有我的ahref。

现在,我现在或将来所有元素的所有元素都能正常运行。