我正在使用 fancybox 2.1.4 插件。
它工作得很好,但我有一个问题。
我想将覆盖设置为空,并且当用户单击 fancybox 容器外部(!)时关闭 fancybox。
我已经尝试过以下代码,但它不起作用,因为没有可供单击的覆盖层。
$(".fancy_gallery").fancybox.({
loop:false,
padding:0,
helpers:{
overlay:null,
closeClick:true
}
});
那么,当我在 fancybox 外部单击时,如何强制关闭它?
因为,现在我必须点击关闭按钮来关闭它。
你可以绑定一个click
给 fancybox 家长的活动(html,body
)内afterShow
回调以强制关闭(并且unbind
关闭后)...所以尝试这个代码:
var fancyParent;
$(".fancy_gallery").fancybox({
loop: false,
padding: 0,
helpers: {
overlay: null
// closeClick: true // useless without an overlay
},
afterShow: function () {
fancyParent = $(".fancybox-wrap").parents(); // normally html and body
fancyParent.on("click", function () {
$.fancybox.close();
});
$(".fancybox-wrap").on("click", function (event) {
// prevents closing when clicking inside the fancybox wrap
event.stopPropagation();
});
},
afterClose: function () {
fancyParent.unbind("click");
}
});
See JSFIDDLE http://jsfiddle.net/QLmB9/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)