web-dev-qa-db-ja.com

jquery fancybox 2.0.3-fancyboxの外側のクリックで閉じるのを防ぐ

Jquery fancyboxバージョン2.0.3を使用しています。 fancyboxの外でクリックが閉じるのを防ぎたいのですが。ユーザーに強制的に十字ボタンをクリックしてもらいたい。私が試してみました

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

しかし、これはfancyboxの新しいバージョンでは動作しないようです。リンクを参照していた

jquery fancybox-fancyboxの外側のクリックで閉じるのを防ぐ

しかし、これらのソリューションはfancybox 2.0.3では機能しないようです。

30
user930026

このオプションを使用します。

helpers : { 
  overlay : {closeClick: false}
}

したがって、最終的なスクリプトは次のようになります。

$(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");
});

hideOnOverlayClickおよびhideOnContentClickはFancybox v1.3.xのオプションです

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

Vennikのソリューションを使用- jsfiddle.net/5EV8r/425

外をクリックしたくない場合。

たとえば、次のように使用します。

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

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