首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击外部时关闭菜单

单击外部时关闭菜单
EN

Stack Overflow用户
提问于 2016-04-26 00:41:33
回答 1查看 62关注 0票数 0

我已经在这里和互联网上看到了很多关于这个问题的问题,但我仍然找不到一个适合我的解决方案。这是我菜单的代码,用bootstrap编写的。当你在小屏幕上点击它时,它工作得很好,但是,我不能关闭它,除非我点击关闭标志。我想在单击其中一个链接时关闭它,或者至少在页面菜单之外单击时关闭它。

代码语言:javascript
复制
  <header id="main-nav">
<div class="container">
  <a  id="navigation" href="#"><i class="fa fa-bars"></i></a>
  <div id="slide_out_menu" >
    <a href="#" class="menu-close"><i class="fa fa-times"></i></a>
    <div class="logo"><img src="images/asesoria-arturo-soria.png" alt="Asesoría Arturo Soria Logo" title="Asesoría Arturo Soria"></div>
    <ul>
      <li><a href="#servicios" class="smoothScroll">Servicios</a></li>
      <li><a href="#autonomos" class="smoothScroll">Autónomos</a></li>
      <li><a href="#empresas" class="smoothScroll">Empresas</a></li>
      <li><a href="#startups" class="smoothScroll">Startups</a></li>
      <li><a href="#contacta" class="smoothScroll">Contacta</a></li>
      <li><a class="sociales" href="https://www.facebook.com/Asesoria-Arturo-Soria-120615058061098/?fref=ts" target="_blank"><i class="fa fa-facebook"></i></a>
      <a class="sociales" href="https://www.linkedin.com/in/asesoria-arturo-soria-a0130143" target="_blank"><i class="fa fa-linkedin"></i></a></li>
      </ul>
    <div class="slide_out_menu_footer">
      <div class="more-info">
        <p>Creado y diseñado por <a href="http://hdeprada.com/">Hdeprada.com</a>
      </div>
    </div>
  </div>
  <div class="row">
    <div class="col-md-4">
      <ul class="left">
    <li><a href="#autonomos" class="smoothScroll">Autónomos</a></li>
    <li><a href="#empresas" class="smoothScroll">Empresas</a></li>
    <li><a href="#startups" class="smoothScroll">Startups</a></li>
     </ul>
    </div>
    <div class="col-md-4 text-center">
      <a href="#header" class="logo smoothScroll"><img src="images/asesoria-arturo-soria.png" alt="Asesoría Arturo Soria Logo" title="Asesoría Arturo Soria"></a>
    </div>
    <div class="col-md-4">
      <ul class="right">
        <li><a href="#servicios" class="smoothScroll">Servicios</a></li>
        <li><a href="#contacta" class="smoothScroll">Contacta</a></li>
        <li><a href="https://www.facebook.com/Asesoria-Arturo-Soria-120615058061098/?fref=ts" target="_blank"><i class="fa fa-facebook"></i></a></li>
        <li><a href="https://www.linkedin.com/in/asesoria-arturo-soria-a0130143" target="_blank"><i class="fa fa-linkedin"></i></a></li>
      </ul>
    </div>
  </div>
</div>

例如,我正在尝试此代码,但它不起作用:

代码语言:javascript
复制
$('html').click(function() {
    $('#slide_out_menu').hide();
});

$('#slide_out_menu').click(function(event){
    event.stopPropagation();
});

下面的代码可以在我的main.js文件中运行。它可以在.menu-close中单击,但如果我将其更改为body或html,则它不起作用。为什么会这样呢?

代码语言:javascript
复制
    $('#navigation').on('click', function(e){
        e.preventDefault();
        $(this).addClass('open');
        $('#slide_out_menu').toggleClass('open');

        if ($('#slide_out_menu').hasClass('open')) {
            $('.menu-close').on('click', function(e){
                e.preventDefault();
                $('#slide_out_menu').removeClass('open');
            });
        }
    });

});
EN

回答 1

Stack Overflow用户

发布于 2016-04-26 01:02:30

尝试如下所示:

代码语言:javascript
复制
$("body").on("click", function(e) {
   $(".collapse").collapse("hide");
});

http://getbootstrap.com/javascript/#collapse

还发现了这个:http://www.bootply.com/63158

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36846369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档