Подтвердить что ты не робот

Как уничтожить Fancybox?

Я пытаюсь уничтожить Fancybox. Я не нашел никакого способа сделать это в документации. Как уничтожить его после его инициализации?

Это не работает:

$("a").unbind('fancybox').unbind('click');

Код тестирования: http://jsfiddle.net/martinba/yy3cw/2/

Я использую текущую версию 2.1.4.

4b9b3361

Ответ 1

Чтобы развязать fancybox, вам нужно отключить события в fb-start пространстве имен от document:

$(document).unbind('click.fb-start');

Хотя, я не знаю, почему разработчик сделал это настолько неочевидным.

http://jsfiddle.net/dfsq/yy3cw/16/

Ответ 2

Попробуйте позвонить:

.unbind('click.fb'), чтобы отменить fancybox.

как:

$('.group').unbind('click.fb')

Ответ 3

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

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

Ответ 4

Как уже упоминалось ранее: $(document).unbind('click.fb-start'); Но вы также можете добавить эту опцию к вызову init fancybox: live:false