2

私はすでにSOで同様の質問を検索しましたが、どの方法もうまくいきませんでした。
クリックすると開くシャドウボックスがあります。

<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

問題は、上記の「外部的に」ロードされたシャドウボックスを使用してデリゲートメソッドを使用して開かれたフォームを閉じることができないこと
です。これを行うためのより良い方法はありますか?デリゲートメソッドを使用してロードされたシャドウボックスを閉じるにはどうすればよいですか。

編集


エラーが発生し続けます未定義のメソッド'close'を呼び出すことができません。
編集2ええと、答えがないので、私は使用できることがわかりました:

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

親ウィンドウにリダイレクトするには、これはImが探しているものではありませんが、誰かにとっての解決策になる可能性があります。

4

1 に答える 1

0

ええと..誰もそれを手に入れなかったなんて信じられません!、18時間後..IDを
クラスに
変更する必要がありました変更先$('body').delegate("#video-form-edit", "click", function(e){
----->$('body').delegate(".video-form-edit", "click", function(e){
そして私のahrefでも。

これで、現在または将来のすべての要素について、すべてのシャドウボックスですべてが正常に機能します。

于 2011-09-17T11:56:33.623 に答える