fancybox回调

时间:2012-04-05 12:02:14

标签: jquery fancybox

我已阅读了十几个帖子和答案......无济于事。

这个简单的代码有什么问题,我在这里缺少什么。 没有尝试过的回调有效。

$("#project_info").fancybox({
        'onComplete': function() {
            console.log('log this');
            //$.cookie('fcookie', '1', {path: ' / '});
        }
    });
$("#project_info").fancybox().trigger("click");

和html

<a id="project_info" href="#project_display"></a>
<div style="display: none;">
    <div id="project_display" style="width:100px; height:100px; overflow:auto;">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    </div>
</div>

注意:本地wamp

编辑:还在远程服务器上测试 - 条带化文件以防止任何交互 - 同样的结果

2 个答案:

答案 0 :(得分:0)

“onComplete”回调不需要引号;你可以做一个简单的事情:

$("#project_info").fancybox({
  onComplete: function() {
    alert('Completed!');
  }
});

答案 1 :(得分:0)

我正在回答我自己的问题,发布我最终使用的解决方案并执行测试。 也许有人发现它很有用。

fancybox 1.3中有一些东西可以杀死回调,当时会使用cookie。

没时间测试,它是什么。

有谁知道?写在下面。

请注意:当我尝试通过.trigger(“点击”)设置cookie时,同样的情况发生了 通过标准点击,回调可以正常工作。

我尝试了什么 - 未成功。

//trial 1: does not work
$("#project_info").fancybox({
    onComplete: function() {
    $.cookie('fcookie', '1', {path: ' / '});
    }
});
$("#project_info").fancybox().trigger("click");

//trial 2: does not work
function StoreCookie() { 
    $.cookie('fcookie', '1', {path: ' / '});
} 
$("#project_info").fancybox({
    onComplete: function() {
    StoreCookie()
    }
});
$("#project_info").fancybox().trigger("click");

//trial 3: does not work
function StoreCookie() { 
    $.cookie('fcookie', '1', {path: ' / '});
} 
$("#project_info").fancybox({
    onComplete: StoreCookie
});
$("#project_info").fancybox().trigger("click");

//trial 3: does not work
function StoreCookie() { 
    $.cookie('fcookie', '1', {path: ' / '});
} 
$("#project_info").fancybox({
    //
});
$("#project_info").fancybox().trigger("click", StoreCookie());//trial 1: does not work
$("#project_info").fancybox({
    onComplete: function() {
    $.cookie('fcookie', '1', {path: ' / '});
    }
});
$("#project_info").fancybox().trigger("click");

//trial 2: does not work
function StoreCookie() { 
    $.cookie('fcookie', '1', {path: ' / '});
} 
$("#project_info").fancybox({
    onComplete: function() {
    StoreCookie()
    }
});
$("#project_info").fancybox().trigger("click");

//trial 3: does not work
function StoreCookie() { 
    $.cookie('fcookie', '1', {path: ' / '});
} 
$("#project_info").fancybox({
    onComplete: StoreCookie
});
$("#project_info").fancybox().trigger("click");

//trial 3: does not work
function StoreCookie() { 
    $.cookie('fcookie', '1', {path: ' / '});
} 
$("#project_info").fancybox({
    //
});
$("#project_info").fancybox().trigger("click", StoreCookie());

我决心

我不太喜欢你 因为cookie存放在fancybox点火之外

if (!$.cookie('fcookie')) {
    $("#project_info").fancybox({
    onComplete: function() {
        //
    }
    });
    $("#project_info").fancybox().trigger("click");
}
$.cookie('fcookie', '1', {path: ' / '});