美好的一天。

我遇到这样的问题:当打开fancyBox画廊并且仅单击打开的图像(幻灯片)时,图像正在缩放。我需要禁用这种行为。

在文档中,建议使用clickContent事件来自定义行为。我以文档为例,并通过以下方式初始化我的画廊副本:

$("[data-fancybox]").fancybox({
    clickContent : function( current, event ) {
        // return current.type === 'image' ? 'zoom' : false;
        if (current.type === 'image') {
            return false;
        }
    },
    slideShow: false,
    fullScreen: false,
    thumbs: false
});


但是clickContent覆盖无效。我尝试了console.log() clickContent事件:

$("[data-fancybox]").fancybox({
    clickContent : function( current, event ) {
        // return current.type === 'image' ? 'zoom' : false;
        console.log('clicking test!');
    },
    slideShow: false,
    fullScreen: false,
    thumbs: false
});


但我没有成功。

也许我在某个地方犯了一个错误。请纠正我。先感谢您!

最佳答案

更新到v3.1,并使用clickContent选项选择用户单击内容时的操作。可能的值:

"close"           - close instance
"next"            - move to next gallery item
"nextOrClose"     - move to next gallery item or close if gallery has only one item
"toggleControls"  - show/hide controls
"zoom"            - zoom image (if loaded successfully)
false             - do nothing


它也可以是从列表返回值的函数。默认值:

clickContent : function( current, event ) {
  return current.type === 'image' ? 'zoom' : false;
}


另外,您的代码段也可以正常工作-https://codepen.io/anon/pen/GvNdJE

10-05 19:12