Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关闭引导下拉Jquery_Javascript_Jquery - Fatal编程技术网

Javascript 关闭引导下拉Jquery

Javascript 关闭引导下拉Jquery,javascript,jquery,Javascript,Jquery,我有一个引导下拉菜单,我只需要在按下时打开和关闭它。'li.dropdown a',然后在按下车身时关闭它。。 我只需点击图标即可打开和关闭。但是我需要一个代码,当我点击身体的时候关闭它 使用图标打开和关闭(工作): $('li.dropdown a').on('click', function (event) { $('li.dropdown.setting-widget').toggleClass("open"); }); ****在正文中单击时关闭(

我有一个引导下拉菜单,我只需要在按下时打开和关闭它。
'li.dropdown a'
,然后在按下车身时关闭它。。 我只需点击图标即可打开和关闭。但是我需要一个代码,当我点击身体的时候关闭它

使用图标打开和关闭(工作):

$('li.dropdown a').on('click', function (event) {
               $('li.dropdown.setting-widget').toggleClass("open");
    });
****在正文中单击时关闭(不工作):***

    if (!$('li.dropdown.setting-widget').hasClass("open")) {
     $('body').on('click', function (event) {
               $('li.dropdown.setting-widget').toggleClass("open");
    });
    }   

假设所有的上下文都是正确的,这段代码应该可以工作

if语句需要位于方法内部

$('body').on('click', function (event) {
  if ($('li.dropdown.setting-widget').hasClass("open")) {
      $('li.dropdown.setting-widget').toggleClass("open");
  }
});

如果它不起作用,您应该添加更多的上下文,比如一些示例HTML,或者显示问题的JS提琴。

您是否尝试过将toggleClass更改为“closed”?@alex,他们的无类调用close!!!我取下了那个!在if语句中,立即尝试。我以前错过过。我在我的引导站点上测试了它,当然改变了目标的上下文,它成功了。