如何将jquery事件仅附加到外部div?

时间:2011-02-25 04:50:40

标签: javascript jquery lightbox

我正在研究一个jQuery灯箱。它工作得很好,但是我想添加另一个功能:当点击周围的“调光器”div时,我希望盒子关闭,但不是主要的时候。

为了澄清,我有两个div:div A和​​div B. Div A有一个半透明的背景图像,覆盖整个屏幕(绝对定位)。 Div B较小,并且在div A内部(也是绝对定位的)并且具有灯箱的主要内容。如果单击div B(内部),是否可以将click事件附加到触发的div A(外部)?

谢谢!

2 个答案:

答案 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();
});