2011-02-25 60 views
2

我正在研究jQuery灯箱。它工作的很好,但我想添加另一个功能:当周围的“dimmer”,div被点击时,我希望盒子关闭,但当主要的时候不会。如何将jquery事件仅附加到外部div?

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

谢谢!

回答

4

的最佳方式实现那是...

$('#your-light-box').click(function(event) { 
    event.stopPropagation(); 
}); 

$(document).click(function() { 
    closeLightbox(); 
}); 
4

在div B的单击事件中,返回false。这将确保该事件不会冒泡和触发父元素的点击(DIV A)

即使你不这样做的股利B的点击什么,只是返回false

$("#divB").click(function(){ 
    return false; 
}); 
+0

谢谢队友,工作完美.. – Fabii 2014-06-04 16:54:38