0

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

这个简单的代码有什么问题,我在这里缺少什么。尝试过的回调都不起作用。

$("#project_info").fancybox({
        'onComplete':函数(){
            console.log('记录这个');
            //$.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

编辑:也在远程服务器上进行了测试-剥离文件以防止任何交互-结果相同

4

2 回答 2

0

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

$("#project_info").fancybox({
  onComplete: function() {
    alert('Completed!');
  }
});
于 2012-04-05T12:55:37.693 回答
0

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

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

没时间测试,是什么。

有谁知道?写在下面。

请注意:当我尝试通过 .trigger("click") 回调设置 cookie 时,同样发生了标准点击。

我尝试了什么 - 不成功。

//试用1:不起作用
$("#project_info").fancybox({
    完成:函数(){
    $.cookie('fcookie', '1', {path: '/'});
    }
});
$("#project_info").fancybox().trigger("click");

//试用2:不起作用
函数 StoreCookie() {
    $.cookie('fcookie', '1', {path: '/'});
}
$("#project_info").fancybox({
    完成:函数(){
    商店饼干()
    }
});
$("#project_info").fancybox().trigger("click");

//试用3:不起作用
函数 StoreCookie() {
    $.cookie('fcookie', '1', {path: '/'});
}
$("#project_info").fancybox({
    onComplete: StoreCookie
});
$("#project_info").fancybox().trigger("click");

//试用3:不起作用
函数 StoreCookie() {
    $.cookie('fcookie', '1', {path: '/'});
}
$("#project_info").fancybox({
    //
});
$("#project_info").fancybox().trigger("click", StoreCookie());//试用1:不起作用
$("#project_info").fancybox({
    完成:函数(){
    $.cookie('fcookie', '1', {path: '/'});
    }
});
$("#project_info").fancybox().trigger("click");

//试用2:不起作用
函数 StoreCookie() {
    $.cookie('fcookie', '1', {path: '/'});
}
$("#project_info").fancybox({
    完成:函数(){
    商店饼干()
    }
});
$("#project_info").fancybox().trigger("click");

//试用3:不起作用
函数 StoreCookie() {
    $.cookie('fcookie', '1', {path: '/'});
}
$("#project_info").fancybox({
    onComplete: StoreCookie
});
$("#project_info").fancybox().trigger("click");

//试用3:不起作用
函数 StoreCookie() {
    $.cookie('fcookie', '1', {path: '/'});
}
$("#project_info").fancybox({
    //
});
$("#project_info").fancybox().trigger("点击", StoreCookie());

这是我解决的

我不太喜欢它,因为 cookie 存储在fancybox 启动之外

if (!$.cookie('fcookie')) {
    $("#project_info").fancybox({
    完成:函数(){
        //
    }
    });
    $("#project_info").fancybox().trigger("click");
}
$.cookie('fcookie', '1', {path: '/'});
于 2012-04-05T16:24:32.893 回答