我正试图摧毁Fancybox。我在documentation找不到任何方法。如何在初始化后销毁它?
这不起作用:
$("a").unbind('fancybox').unbind('click');
测试代码:http://jsfiddle.net/martinba/yy3cw/2/
我使用当前版本2.1.4。
答案 0 :(得分:13)
要取消绑定fancybox,您必须取消绑定fb-start
document
命名空间下的事件:
$(document).unbind('click.fb-start');
尽管如此,我不知道为什么开发人员会如此不明显。
答案 1 :(得分:2)
尝试致电:
.unbind('click.fb')
取消绑定fancybox。
像:
$('.group').unbind('click.fb')
答案 2 :(得分: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');
答案 3 :(得分:0)
如前所述:$(document).unbind('click.fb-start');
但您也可能希望将此选项添加到fancybox init调用:live:false