13

我试图摧毁Fancybox我在文档中没有找到任何方法来做到这一点。初始化后如何销毁?

这不起作用:

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

测试代码:http: //jsfiddle.net/martinba/yy3cw/2/

我使用当前版本 2.1.4。

4

4 回答 4

15

为了解绑fancybox,你必须解绑fb-start命名空间下的事件document

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

不过,我不知道为什么开发人员让它如此不明显。

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

于 2013-03-01T09:56:30.197 回答
2

尝试调用:

.unbind('click.fb')解绑fancybox。

像:

$('.group').unbind('click.fb')
于 2013-03-01T09:45:34.527 回答
1

您可以通过运行以下命令取消绑定每个花哨的盒子:

$(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');
于 2016-11-07T11:13:41.763 回答
0

正如前面提到的:$(document).unbind('click.fb-start'); 但您也可能希望将此选项添加到 fancybox init 调用中:live:false

于 2013-09-23T04:42:45.630 回答