单击时显示/隐藏 div 并在单击 div 外部后消失

Posted

技术标签:

【中文标题】单击时显示/隐藏 div 并在单击 div 外部后消失【英文标题】:Show/Hide div on click and disappears after clicking outside the div 【发布时间】:2018-11-10 08:37:48 【问题描述】:

会不会有人对我做这样在div外点击后-div消失了?因为现在只有当你再次点击Click to Show / Hide div时它才会消失

$(document).ready(function()
    $('#show').click(function() 
      $('.menu').toggle(1,"linear", "slide");
    );
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="show">Click to Show/ Hide div</div>
 <div class="menu" style="display: none;">
    <ol>
      <li>India</li>
      <li>US</li>
      <li>UK</li>
      <li>Australia</li>
    </ol>
 </div>

【问题讨论】:

after clicking outside the div - 你在说哪个div#show.menu)? .menu(点击#menu后出现的那个) 【参考方案1】:

我希望这是您的要求。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="show">Click to Show/ Hide div</div>
 <div class="menu" style="display: none;">
    <ol>
      <li>India</li>
      <li>US</li>
      <li>UK</li>
      <li>Australia</li>
    </ol>
 </div>


 $('#show').click(function() 

      $('.menu').toggle(1,"linear", "slide");

       //OR

      $('.menu').toggle();
    );

这将检查您点击的元素是否没有 id=show

$(document).click(function(e) 

  if( e.target.id != 'show') 
    $(".menu").hide();
  
);

【讨论】:

以上是关于单击时显示/隐藏 div 并在单击 div 外部后消失的主要内容,如果未能解决你的问题,请参考以下文章

单击时显示/隐藏Div(.toggle)jQuery

选中复选框时jQuery隐藏div,未选中时显示

单击另一个 div 时显示 div

如何在按下按钮的同时选择两个下拉选项时显示隐藏div

单击按钮时显示 div Javascript

TinyMCE 工具栏在点击时显示并在点击时隐藏