jquery fancybox 2.0.3 - éviter de fermer un clic à l'extérieur de fancybox

j'utilise la version 2.0.3 de jquery fancybox. Je veux empêcher fermer sur le clic à l'extérieur de fancybox. Je veux forcer l'utilisateur à cliquer sur le bouton croix. J'ai essayé

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

mais cela ne semble pas fonctionner dans la nouvelle version de fancybox. J'avais renvoyé le lien

jquery fancybox - éviter de fermer un clic à l'extérieur de fancybox

mais ces solutions ne semblent pas fonctionner dans fancybox 2.0.3

28
demandé sur Community 2011-12-06 17:10:33

3 réponses

utilisez cette option:

helpers : { 
  overlay : {closeClick: false}
}

donc votre script final devrait ressembler à:

$(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 et hideOnContentClick sont des options pour Fancybox v1.3.x

78
répondu JFK 2012-04-17 21:47:48
$(document).ready(function() {
    $("#popup").fancybox({
        closeClick  : false,
        openEffect  : 'none',
        closeEffect : 'none',
        helpers   : { 
            overlay : {
                closeClick: false,
            }
        }
    }).trigger("click");
});
0
répondu Deepak Thakare 2017-01-25 14:45:08

utilisant la solution de Vennik - jsfiddle.net/5EV8r/425 .

si vous voulez empêcher cliquez à l'extérieur.

utilisez - le par exemple:

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

        afterShow: function() {
            $(".fancybox-close").click(function(e) {
                e.preventDefault();
                last.click();
            });
        }
    });
0
répondu Tom Sawin 2018-03-31 01:00:09