javascript - 切换下拉菜单并在外部点击时隐藏

标签 javascript jquery css

我得到了这个可以工作的下拉菜单,但我也希望当我点击它之外的时候它会关闭...我已经尝试了一些已回答的解决方案,但出了点问题,我无法弄清楚...有人能指出是什么吗我错过这里了吗?非常感谢

$("#toggle").on('click', function() {
   $(".dropdown").toggleClass("dropdown--visible");
});

$(document).click(function(){
    $(".dropdown").hide();
});

$(".dropdown").click(function(e){
    e.stopPropagation();
});
.dropdown {
  background: red;
  display: none;
}

.dropdown--visible {
  display: block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button id="toggle">Toggle dropdown</button>

<div class="dropdown">
    <ul>
      <li>one</li>
      <li>two</li>
  </ul>
</div>

最佳答案

$("#toggle").on('blur click', function() {
   $(".dropdown").toggleClass("dropdown--visible");
});

$(document).click(function(){
    
});
.dropdown {
  background: red;
  display: none;
}

.dropdown--visible {
  display: block!important;
}
.dropdown--invisible {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button id="toggle">Toggle dropdown</button>

<div class="dropdown">
    <ul>
      <li>one</li>
      <li>two</li>
  </ul>
</div>

关于javascript - 切换下拉菜单并在外部点击时隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57159808/

相关文章:

javascript - Jade with Express 中有 2 个带有隐藏方法的 Form

javascript - 如何使用 _.filter 按名称和排名排序?

jquery - 无法弄清楚如何根据 session 操作 mysql 查询

javascript - map Canvas 不会显示

javascript - 一切正常,但无法在与 C++ 连接的应用程序中通过 ID 访问元素?

javascript - 复选框仅在搜索后第二次单击后才有效

javascript - dropzone.js 表单提交不发送文件

javascript - 使用 JavaScript 和 jQuery 计算尺寸

css - 如何让我的 d3 折线图下方的区域填充为渐变?

html - 制作不相同的表行(表中表中的表)