我有一个当用户单击链接时打开的 div。 div 排序悬停在链接上(它是一个更多信息框/div),并且 div 具有链接和文本。现在我想要的是,当用户在 div 外部点击时,它会关闭/消失。但我希望 div 内部的链接能够正常工作。 Atm 关闭的 javascript 是这样的:
$('html').click( function() {
$('#moreInfo').hide();
});
但问题是,当用户单击 #moreInfo 内的链接时,该链接不起作用,div 只是关闭(它应该转到与该链接不同的页面,而不是关闭 div)。
最佳答案
你可以这样做:
$(document).click(function() {
$('#moreInfo').hide();
});
$('#moreInfo').click(function(e) {
e.stopPropagation();
});
通过使用 event.stopPropagation()
关于click
<div>
的处理程序,来自内部的点击不会bubble up到你有一个处理程序来关闭它的地方......这就是当前正在发生的事情。
关于javascript div 关闭问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3569665/