javascript - 仅当在下拉菜单外单击鼠标时才关闭 Bootstrap 下拉菜单

标签 javascript jquery css html twitter-bootstrap

我有一个 Bootstrap 下拉菜单:

<div class="dropdown>
   <a class="dropdown-toggle" href="#" id="menu1" data-toggle="dropdown"><img src="@imagePath" class="img-circle dropbtn" alt="Product" style="width:30px;height:30px;" /></a>

  <ul class="dropdown-menu" id="productDD" role="menu" aria-labelledby="menu1"></ul>
</div>

现在 ul 通过 ajax 调用在页面加载时加载产品。问题是当我单击下拉列表中的任何产品时,下拉列表将关闭。但是我只想在 ul 之外的任何地方单击鼠标时关闭下拉列表

最佳答案

尝试这样的事情:

$(document).click(function(e) {
  // get the clicked element
  $clicked = $(e.currentTarget);
  // if the clicked element is not a descendent of the dropdown
  if ($clicked.closest('.dropdown').length === 0) {
    // close the dropdown
    $('.dropdown').removeClass('open');
  }
});

关于javascript - 仅当在下拉菜单外单击鼠标时才关闭 Bootstrap 下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52166136/

相关文章:

javascript - 如何通过点击同一个按钮多次更改网页背景颜色?

javascript - Asp .net core如何加载html文件byte[]到iframe src View

css - 整个网站是否自动缓存(Google 使用 &lt;style&gt;)?

PHP 和 CSS 不能完全工作

javascript - 图像加载似乎减慢了 Javascript 的执行速度

javascript - 如何在 JavaScript 中从 char 获取 make 代码?

javascript - 用随机数字填充浏览器窗口

javascript - 滚动到元素后突出显示该元素

html - 从外部资源覆盖 CSS

javascript - 如果插槽不是从父级传递的,则进行条件渲染