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

5 ответов

Решение

Используйте эту опцию:

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

OP спросил о fancyBox 2.0, но если вы пришли сюда в поисках ответа и используете fancyBox 3.0+, вы можете просто сделать:

$('.various').fancybox({
    clickSlide: false, // disable close on outside click
    touch: false // disable close on swipe
});

Вы также можете полностью отключить кнопку закрытия, добавив smallBtn и toolbar в массив параметров и установив оба значения false.

Проверено с помощью fancyBox 3.5.7.

Использование решения от Vennik - http://jsfiddle.net/5EV8r/425.

Если вы хотите предотвратить щелчок снаружи.

Используйте это например:

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

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

$('.refer').fancybox({'width':395,'height':135,'type':'iframe',title:{type:'outside'},'closeBtn':false,helpers:{overlay:{closeClick:false} }})введите описание ссылки здесь

Другие вопросы по тегам