2010-08-25 120 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中处理一个“特殊”元素的模糊事件。

希望有帮助,