2

我已经搜索过类似的问题,但没有一种方法对我有用。
我有一个暗箱,点击后会打开:

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

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

window.parent.Shadowbox.close();

问题.. 我有一个 ajax 在数据中的页面,我想为这些“未来”元素加载一个影子框,我想通过使用 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

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

编辑


我不断收到错误无法调用未定义的方法“关闭”。
编辑 2 很好,因为没有答案,我发现我可以使用:

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

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

4

1 回答 1

0

呃..我不敢相信没有人得到它!,18 小时后..
我需要将 ID 更改为一个类
更改$('body').delegate("#video-form-edit", "click", function(e){
为 ----->$('body').delegate(".video-form-edit", "click", function(e){
并且也在我的 ahref 中。

现在,对于现在或将来的所有元素,我所有的 shadowbox 中的一切都正常工作。

于 2011-09-17T11:56:33.623 回答