javascript - 切换隐藏不起作用

标签 javascript jquery

我有一个简单的代码,如果用户单击此 div 内的其他 div.containerbutton,我想隐藏一个 div 这是我的代码

$('div, button').click(function(){
  $('.div').toggle('hide');
})
div{
  height: 200px;
  width: 200px;
}
.container{
  background: pink
}
.div{
  background: blue
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
  <button>Click</button>
</div>
<div class="div"></div>

当我点击container div时它工作正常,但当我点击按钮时它不起作用,我知道问题是你点击了两次。 但如何解决这个问题

最佳答案

您可以通过防止单击事件在 DOM 中冒泡并使用 .stopPropagation() 触发父级上的单击事件来阻止这种情况。 :

$('div, button').click(function(e){
  e.stopPropagation();
  $('.div').toggle('hide');
})
div{
  height: 200px;
  width: 200px;
}
.container{
  background: pink
}
.div{
  background: blue
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
  <button>Click</button>
</div>
<div class="div"></div>

关于javascript - 切换隐藏不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36550570/

相关文章:

javascript - 从硬盘上传图像并将其插入短信

javascript - 选中/取消选中复选框以使用 JavaScript 显示/隐藏输入文件元素

javascript - React 中的严格模式是什么?

javascript - 如何在不单击 Javascript 按钮的情况下触发操作?

javascript - 如何找到数组中元素与集合数组 node.js 的最佳匹配

javascript - 显示内联 block 不在同一行中显示 div

javascript - 如何在 chrome 中禁用 iframe 的滚动

javascript - 单击事件处理程序无意中冒泡,即使在调用 jQuery 的 stopPropagation() 之后也是如此

jquery - 在 Backbone.js View 上调用 jQuery Unobtrusive 验证

javascript - 我尝试在登录脚本中使用 ajax 但页面不会重定向