Ответ 1
Чтобы развязать fancybox, вам нужно отключить события в fb-start
пространстве имен от document
:
$(document).unbind('click.fb-start');
Хотя, я не знаю, почему разработчик сделал это настолько неочевидным.
Я пытаюсь уничтожить Fancybox. Я не нашел никакого способа сделать это в документации. Как уничтожить его после его инициализации?
Это не работает:
$("a").unbind('fancybox').unbind('click');
Код тестирования: http://jsfiddle.net/martinba/yy3cw/2/
Я использую текущую версию 2.1.4.
Чтобы развязать fancybox, вам нужно отключить события в fb-start
пространстве имен от document
:
$(document).unbind('click.fb-start');
Хотя, я не знаю, почему разработчик сделал это настолько неочевидным.
Попробуйте позвонить:
.unbind('click.fb')
, чтобы отменить fancybox.
как:
$('.group').unbind('click.fb')
Вы можете развязать каждую причудливую коробку, запустив:
$(document).unbind('click.fb-start');
Или, если вам нужно отвязать определенный селектор, вы можете его отключить:
var selector = 'a.my-fancy-box';
selector = selector + ":not('.fancybox-item, .fancybox-nav')";
$(document).undelegate(selector, 'click.fb-start');
Или, альтернативно:
// Bind
$('a.my-fancy-box').fancybox({live: false});
// Unbind
$('a.my-fancy-box').unbind('click.fb');
Как уже упоминалось ранее: $(document).unbind('click.fb-start');
Но вы также можете добавить эту опцию к вызову init fancybox: live:false