关闭fancybox窗口:适用于iframe但不适用于ajax

时间:2012-02-14 12:13:09

标签: jquery fancybox

我有一个工作的fancybox模态窗口,下一个代码:

        $("a#add-project").click(function(){
            $.fancybox({
                type: 'ajax',
                href: BASEPATH + 'time/addProject',
                fitToView: false,
                autoSize: false,
                width: 500,
                height: 300,
                closeClick: false,
                openEffect: 'none',
                closeEffect: 'none',
                beforeClose: function() {
                    console.log('closed');
                }
            });
        });

该AJAX窗口包含一个带有下一个代码的按钮:

    $('#addproject-close').bind("click keypress", function(){
        $.fancybox.close(true); 
        $.fancybox.close();
        parent.$.fancybox.close(true);
        parent.$.fancybox.close();
        console.log('tried to close');
    });

我知道它有效,因为我在控制台上看到试图关闭消息,但没有办法关闭该窗口。我尝试了所有可能的东西,但没有。在过去,我有这个窗口的类型:'iframe'和父母。$ ...刚刚工作。

我如何在ajax中做到这一点?

提前谢谢

1 个答案:

答案 0 :(得分:0)

在AJAX窗口中,创建关闭按钮,如下所示:

<a href="javascript:$.fancybox.close();" id="addproject-close">close fancybox</a>

......忘了.bind()方法。

这应该可以解决问题。 See demo