我正在使用以下jquery来关闭一个div,当没有单击“click”类时(对于空白空间和某些其他div)。
$(document).click(function (event) {
if (!$(event.target).hasClass('click')) {
$('#div').hide();
}
});
我不想打开fancybox图库来关闭div(fancybox 2.1.5),所以我在我的html中将'click'类应用于与fancybox相关的所有内容。
<div class="fancybox_container click">
<a class="fancybox_gal click" rel="gallery" href="1s.jpg"><img src="1l.jpg" class="click"></a>
<a class="fancybox_gal click" rel="gallery" href="2s.jpg"><img src="2l.jpg" class="click"></a>
<a class="fancybox_gal click" rel="gallery" href="3s.jpg"><img src="3l.jpg" class="click"></a>
</div>
我可以点击任何图片而不隐藏div。但是,当我单击fancybox在图像上生成的“下一个”或“上一个”或“关闭”链接/按钮时,div将关闭。
我编辑了jquery.fancybox.js,将'click'类添加到那些按钮的href链接中,但是没有用。
如何将此类应用于这些链接?或者一些解决方法?
这是一个说明问题的FIDDLE。
答案 0 :(得分:2)
我认为这就是你要找的东西:
WORKING:DEMO:更新
JS :更新
$(document).mouseup(function (e) /* it executes on mouse click anywhere on document*/
{
var container = $(".click, a, .fancyboc_gal, .fancybox_container, img"); /* all those div's or links on which if clicked should not close your behind div(#othercontent)*/
if (!container.is(e.target) /* Now Check that click you did is not on gallery */
&& container.has(e.target).length === 0) // ... nor a descendant of the container
{
$("#othercontent").hide();
}
});