单击链接以外的任何内容时需要关闭菜单(包括菜单图标)

时间:2017-06-23 17:10:34

标签: javascript jquery menu

http://emperor.graphics/

正如您可能能够通过我的JavaScript告诉我,我不是专家。我从多个来源拼凑了这个,它大部分都有效,但我有两个挫折:

  1. 在移动设备上,当您点按它时,菜单并不总是关闭。
  2. 单击菜单图标本身不会关闭菜单。

    $(function() {
      $('.dropdown-toggle').click(function(){
        $(this).next('.dropdown').addClass("nav-open");
      });
    
     $(document).click(function(e) {
       var target = e.target;
       if (!$(target).is('.dropdown-toggle') && 
        !$(target).parents().is('.dropdown-toggle')) {
          $('.dropdown').removeClass("nav-open");
       }
     });
    });
    
  3. 非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

也许你想要这个?

$(function() {
    var toggle = ".dropdown-toggle";
    $(toggle).on("click", function(){
        $(this).next('.dropdown').toggleClass("nav-open");
    });

    $(document).click(function(e) {
       var target = $(e.target);
       if (!target.is(toggle) && !target.parent().is(toggle)) {
           $(".dropdown").removeClass("nav-open");
       }
   });
});