javascript div 关闭问题

标签 javascript jquery

我有一个当用户单击链接时打开的 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/

相关文章:

Javascript如何合并或组合具有相同开放时间的日期数组

javascript - 如何在单个wordpress页面上嵌入HTML5/CSS + js音乐播放器?

javascript - 获取动态创建元素的高度

javascript - 带有 jquery 的 CSS Transition 看起来没有按预期工作

javascript - 在 hello world 应用程序上 react 错误 "Uncaught TypeError: type.toUpperCase is not a function"

javascript - 获取 JavaScript 数组元素的最大长度

javascript - 使用空数组时比较运算符 JavaScript 的奇怪行为

javascript - JQuery 在元素级别内联复制 onmouseenter 逻辑

javascript - 在 JSON 字符串中插入 Javascript (jquery) 变量

javascript - 使用 PageContainer 动态加载面板