jQuery jqueryfancybox 2.0.3 - 防止在fancybox 外点击时关闭

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/8400433/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-27 10:28:43  来源:igfitidea点击:

jquery fancybox 2.0.3 - prevent close on click outside of fancybox

jqueryfancybox

提问by user930026

I am using jquery fancybox version 2.0.3. I want to prevent close on click outside of fancybox. I want to force user to click the cross button. I have tried

我正在使用 jqueryfancybox 版本 2.0.3。我想防止在fancybox 之外点击关闭。我想强制用户单击十字按钮。我试过了

$(document).ready(function() {
    $(".various").fancybox({
        closeClick  : false,
        openEffect  : 'none',
        closeEffect : 'none',
        hideOnOverlayClick:false,
        hideOnContentClick:false
    }).trigger("click");
});

but this doesn't seems to work in new version of fancybox. I had referred the link

但这似乎不适用于新版本的fancybox。我已经提到了链接

jquery fancybox - prevent close on click outside of fancybox

jqueryfancybox - 防止在fancybox外点击关闭

but these solutions doesn't seems to work in fancybox 2.0.3

但这些解决方案似乎不适用于fancybox 2.0.3

回答by JFK

Use this option:

使用此选项:

helpers : { 
  overlay : {closeClick: false}
}

so your final script should look like:

所以你的最终脚本应该是这样的:

$(document).ready(function() {
 $(".various").fancybox({
  closeClick  : false, // prevents closing when clicking INSIDE fancybox 
  openEffect  : 'none',
  closeEffect : 'none',
  helpers   : { 
   overlay : {closeClick: false} // prevents closing when clicking OUTSIDE fancybox 
  }
 }).trigger("click");
});

hideOnOverlayClickand hideOnContentClickare options for Fancybox v1.3.x

hideOnOverlayClickhideOnContentClick是的fancybox v1.3.x选项

回答by Deepak Thakare

$(document).ready(function() {
    $("#popup").fancybox({
        closeClick  : false,
        openEffect  : 'none',
        closeEffect : 'none',
        helpers   : { 
            overlay : {
                closeClick: false,
            }
        }
    }).trigger("click");
});

回答by Tom Sawin

Using solution from Vennik - jsfiddle.net/5EV8r/425.

使用来自 Vennik 的解决方案 - jsfiddle.net/5EV8r/425

If you want to prevent click outside.

如果你想防止点击外面。

Use it for example:

例如使用它:

$(".fancybox_pdf").fancybox({
      helpers : { 
      overlay : {closeClick: false}
      },
      autoSize: false,

        afterShow: function() {
            $(".fancybox-close").click(function(e) {
                e.preventDefault();
                last.click();
            });
        }
    });