单击外部图像时停止关闭Fancybox 1.3

时间:2013-03-10 13:29:37

标签: jquery html fancybox

我之前搜索并发现了一些有关此问题的问题,但没有一个答案有效。 当我点击图像外部时,我想要它做的并不是关闭,而只是点击角落里的X.

我尝试了许多不同的想法,有些让图像在相同的框架中打开,有些工作除了现在角落里的X已经消失所以我根本无法关闭它。

让我最接近的是“模态:真实”,但是X使用了这个消失了。

这是我的页面,图片位于菜单中的“Fotografier”下: http://esoxluciusdegothia.blogg.se

我为Fancybox提供的代码是:

<script type="text/javascript">
    $(document).ready(function() {
        $(".fancybox").fancybox();
    });
</script>

正如我所说,我试过的大多数'答案'只是让图片在同一个窗口中打开,就好像它是图片的直接链接一样。我希望它们弹出并获得导航按钮+关闭按钮

2 个答案:

答案 0 :(得分:2)

对于fancybox v1.3.x ,请使用以下API选项:

<script type="text/javascript">
    $(document).ready(function() {
        $(".fancybox").fancybox({
           "hideOnOverlayClick" : false, // prevents closing clicking OUTSIE fancybox
           "hideOnContentClick" : false, // prevents closing clicking INSIDE fancybox
           "enableEscapeButton" : false  // prevents closing pressing ESCAPE key
        });
    });
</script>

...所以关闭fancybox的唯一方法是按close按钮。

答案 1 :(得分:1)

编辑:此答案涉及fancyBox 2.有关fancyBox 1.3的方式,请参阅JFK's answer

如果你看一下fancyBox代码,你会发现modal设置只是一个捷径:

// 'modal' propery is just a shortcut
if (coming.modal) {
    $.extend(true, coming, {
        closeBtn   : false,
        closeClick : false,
        nextClick  : false,
        arrows     : false,
        mouseWheel : false,
        keys       : null,
        helpers: {
            overlay : {
                closeClick : false
            }
        }
    });
}

在你的情况下,你想要的是:

$('.fancybox').fancybox({
    helpers: {
        overlay: {
            closeClick: false
        }
    }
});