0

誤ってカラーボックスを閉じないようにしたいので、ロードされたiframe内から閉じるボタンを表示/非表示にします。

ドキュメントを読みましたが、どちらの例も機能しないようです。

var originalClose = $.colorbox.close;
$.colorbox.close = function(){
    var response;
    if($('#cboxLoadedContent').find('form').length > 0){
        response = confirm('Do you want to close this window?');
        if(!response){
            return; // Do nothing.
        }
    }
    originalClose();
};

また

<!-- calling colorbox's close method from within an iframe: -->
<a href='#' onclick='parent.$.colorbox.close(); return false;'>close this iframe</a>

...カラーボックスが閉じないだけです。私は何が間違っているのですか?

コンソールに表示されます:

Uncaught TypeError: Cannot read property 'colorbox' of undefined 

ありがとう!

4

3 に答える 3

0

そのはず:

parent.$('#yourElement').colorbox.close();

yourElementは、カラーボックスを含むiframeのID/セレクターになります。

于 2013-02-02T14:40:19.310 に答える
0

ライブラリcolorbox.cssjquery.colorbox.js後にインクルードする必要があります。jquery

最初の例はカラーボックス関数をオーバーライドcloseし、2番目の例はカラーボックスを閉じるだけです。

$('#cboxLoadedContent').find('form')

私の例では、がないので、セレクターformを削除します。form

デモ: http: //jsfiddle.net/BY3ZK/

Colorboxはdiviframeではなく単なるものなので、parentここから削除します。

parent.$.colorbox.close();

デモ: http: //jsfiddle.net/BY3ZK/1/

于 2013-02-02T15:34:02.003 に答える
0

$('#cboxClose')。remove();を使用してみてください。カラーボックスを閉じる

于 2013-09-12T07:41:22.537 に答える