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

尝试使用 $('#cboxClose').remove(); 关闭颜色框

于 2013-09-12T07:41:22.537 回答
0

它应该是:

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

其中yourElement将是包含颜色框的 iframe 的 ID/选择器。

于 2013-02-02T14:40:19.310 回答
0

您需要在库之后包含colorbox.css和。jquery.colorbox.jsjquery

您的第一个示例覆盖了颜色框close功能,第二个示例只是关闭了颜色框。

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

在我的示例中,我没有form,所以我删除了form选择器。

演示:http: //jsfiddle.net/BY3ZK/

Colorbox 只是div,而不是 iframe,所以我parent从这里删除:

parent.$.colorbox.close();

演示:http: //jsfiddle.net/BY3ZK/1/

于 2013-02-02T15:34:02.003 回答