javascript - 切换后无法单击按钮

标签 javascript jquery html css

我无法使用按钮关闭下拉列表,但我可以在单击外部页面时将其关闭。

Working Demo here

var $menu = $('.menu');

$('.toggle').click(function () {
  $menu.toggle();
});

$(document).mouseup(function (e) {
   if (!$menu.is(e.target) // if the target of the click isn't the container...
   && $menu.has(e.target).length === 0) // ... nor a descendant of the container
   {
     $menu.hide();
  }
 });

请大家帮帮我。

最佳答案

$(document).ready(function(){
  var $menu = $('.menu');

$('.toggle').click(function (e) {
e.stopPropagation();
  $menu.toggle();
});
$('.container').click(function (e) {
e.stopPropagation();
  $menu.toggle();
});
});
.dropdown {
  margin: 200px auto;
  position: relative;
  width: 50%;
}

.toggle, .dropdown-menu {
  width: 100%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.bundle.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
  <div class="row">
    <div class="text-center col-xs-12">
      <h1>jQuery: click outside to close menu</h1>
      <p>Click the button to toggle the dropodown menu.</p>
      <p>Then click outside dropdown menu to close.</p>
      <div class="dropdown">
  <a href="#" title="" class="btn btn-default toggle">Toggle menu</a>
  <ul class="dropdown-menu menu">
    <li class="dropdown-item">List item 1</li>
    <li class="dropdown-item">List item 2</li>
    <li class="dropdown-item">List item 3</li>
</div>  
    </div>
    </div>
  </div>

使用 event.stopPropagation(); 这不会阻止同一元素上的其他处理程序运行。

关于javascript - 切换后无法单击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52776011/

相关文章:

javascript - 从 HTML5 视频中获取音频

javascript - JQuery DatePicker 背景色

jQuery - 在提交时向表单添加隐藏输入

javascript - 使用 JavaScript 在模糊和按下提交时验证表单

javascript - 使用 jQuery 将数据放入动态内容

javascript - 当我将值插入数组并尝试重新打印这些值时,我的页面崩溃

javascript - 如何使用表单验证来完成多个选项?

javascript - React-burger-menu 的 Div 问题

javascript - 如何从指纹扫描仪获取数据到NodeJS应用程序?

javascript - 使用 jquery 拖放图像