如何在不使用overlay:true的情况下单击我的页面来关闭fancybox

时间:2012-08-30 17:54:08

标签: jquery fancybox-2

当我点击fancybox内容时,如何关闭fancybox http://fancyapps.com/fancybox/。 我可以使用overlay:true,但我想在fancybox打开时仍然能够点击另一个图像。

我尝试了这段代码,但它根本取消了fancybox。

$(document).click(function() {
    $.fancybox.close()
});

1 个答案:

答案 0 :(得分:0)

这可能不是一个优雅的解决方案,但会起作用..

要在外部点击时关闭fancybox,您可以使用类似下面的内容..

$(':not(<fancybox_links_selector>)').live('click', function(event){
    event.stopPropagation();
    $.fancybox.close();
});

通过使用此jQuery:not运算符和正确的选择器,您可以选择除打开fancybox的元素之外的所有元素(在您的情况下是图像..)

现在,当你点击所需的链接(图像再次......)时,你可以打开fancybox,你应该停止他们的点击事件传播给父母..

见下文......

$('<fancybox_links_selector>').live('click', function(event){
    event.stopPropagation();
    event.preventDefault();

    // write any extra required code here
    return false;
});

这将停止点击事件冒泡并允许fancybox打开...

希望这会有所帮助......