简体   繁体   English

stopPropagation 后如何关闭 Bootstrap 下拉菜单?

[英]How to close Bootstrap dropdown after stopPropagation?

For a specific reason, I had to invoke event.stopPropagation within a dropdown member.出于特定原因,我不得不在下拉成员中调用event.stopPropagation

Now, the dropdown doesn't close when I click it.现在,当我单击下拉菜单时,它不会关闭。 How do I force it to close programatically?如何强制它以编程方式关闭?

My html:我的html:

<li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Menu1<span class="caret"></span></a>
  <ul class="dropdown-menu">
      <li><a href="#" id="it1">Item 1</a></li>
      <li><a href="#" id="it2">Item 2</a></li>
      <li role="separator" class="divider"></li>
      <li><a href="#" id="it3">Item 3</a></li>
      <li><a href="#" data-toggle="modal" data-target="#it4-modal">Item 4</a></li>
  </ul>
 </li>

And my jQuery js:还有我的 jQuery js:

$('#it3').click(function (e) {
  e.stopPropagation();
  doStuff();
});

I already tried things like $('.dropdown-toggle').toggle() and $('.dropdown-toggle').dropdown('toggle');我已经尝试过诸如$('.dropdown-toggle').toggle()$('.dropdown-toggle').dropdown('toggle'); , but without success. ,但没有成功。

Bootstrap 4 (October 2018): Bootstrap 4(2018 年 10 月):

$('.dropdown.show,.dropdown-menu.show').removeClass('show');

It hides all opened Bootstrap dropdowns.它隐藏了所有打开的 Bootstrap 下拉菜单。

Managed to do it with设法做到了

$('[data-toggle="dropdown"]').parent().removeClass('open');

According to https://stackoverflow.com/a/10941616/6474503根据https://stackoverflow.com/a/10941616/6474503

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM