2010-08-25 108 views
0

我有一個div,當用戶點擊鏈接時打開。 div排列在鏈接上(它是一個更多信息框/ div),div有一個鏈接和文本。現在我想要的是當用戶在div外部關閉時它會關​​閉/消失。但我想要div內的鏈接工作。 ATM爲closin的JavaScript是這樣的:javascript div關閉問題

$('html').click(function() { 
    $('#moreInfo').hide();           
}); 

但問題是,當用戶點擊裏面的鏈接#moreInfo鏈接不工作,在div只是關閉(它應該去不同的頁面從那個環節,不關閉div)。

回答

2

你可以這樣做:

$(document).click(function() { 
    $('#moreInfo').hide();           
}); 
$('#moreInfo').click(function(e) { 
    e.stopPropagation(); 
}); 

通過對click處理程序<div>使用event.stopPropagation(),點擊次數從進入室內不會bubble up到你有一個處理程序來關閉它...它是目前發生的事情。

0

如果我理解正確,你不想隱藏DIV,你想從DOM樹中移除它。

如果是這樣的話,試試這個:

$('#moreInfo').remove(); 

只記得參考保持到項目,這樣,當你需要,你可以重新添加它。

0

我建議你在你的DIV的右上角放置一個閉合的X(如窗口)......在其他情況下,你可以在你的div中處理一個「特殊」元素的模糊事件。

希望有幫助,