我正在研究一个jQuery灯箱。它工作得很好,但是我想添加另一个功能:当点击周围的“调光器”div时,我希望盒子关闭,但不是主要的时候。
为了澄清,我有两个div:div A和div B. Div A有一个半透明的背景图像,覆盖整个屏幕(绝对定位)。 Div B较小,并且在div A内部(也是绝对定位的)并且具有灯箱的主要内容。如果单击div B(内部),是否可以将click事件附加到不触发的div A(外部)?
谢谢!
答案 0 :(得分:4)
在div B的click事件中,返回false。这将确保事件不会冒泡并触发父元素的单击(div A)
即使您没有点击Div B做任何事情,只需返回false
$("#divB").click(function(){
return false;
});
答案 1 :(得分:4)
实现这一目标的最佳方法是......
$('#your-light-box').click(function(event) {
event.stopPropagation();
});
$(document).click(function() {
closeLightbox();
});