简体   繁体   English

在Bootstrap下拉开关上触发jQuery

[英]Trigger jQuery on Bootstrap dropdown toggle

I made a bootply that won't generate a link, so here's my settings that I threw in there. 我创建了一个不会生成链接的bootply,因此这是我在其中进行的设置。

I want to have jQuery add a class to another div when this dropdown is triggered, and remove the class when the dropdown is hidden. 我想让jQuery在触发此下拉菜单时向另一个div添加一个类,并在隐藏下拉菜单时删除该类。

CSS: CSS:

.halfOpacity
  {
    opacity: .5;
  }
#switchMenu
  {
    top: 100px;
  }
#siteData
  {
    color: #FFF;
    background-color: #000;
  }

Javascript: 使用Javascript:

$('#switchDropdown').on('show.bs.dropdown', function(){
  $('#siteData').addClass('halfOpacity');
});
$('#switchDropdown').on('hide.bs.dropdown', function(){
  $('#siteData').removeClass('halfOpacity');
});

HTML: HTML:

<a href="#" class="navbar-brand dropdown-toggle mobile-footer-brand" data-toggle="dropdown" id='switchDropdown'>Test Link</a>

<ul class='dropdown-menu' id='switchMenu'>
  <li>HORRAY!!!!</li>
</ul>

<div id='siteData'>Some Stuff<br>Moar stuff<br>Even moar stuffs</div>

Right now the jQuery never gets called based off of the actions that Bootstrap says happen. 现在,从未根据Bootstrap所说的动作调用jQuery。

Answered my own question with reading documentation more clearly. 阅读文档更清晰地回答了我自己的问题。

Events 活动

All dropdown events are fired at the .dropdown-menu 's parent element. 所有下拉事件都在.dropdown-menu的父元素上触发。

Bootstrap Documentation Here 引导文档在这里

The following changes fixed it for me: 以下更改为我修复了此问题:

Javascript: 使用Javascript:

$('#wrap').on('show.bs.dropdown', function(){
  $('#siteData').addClass('halfOpacity');
});
$('#wrap').on('hide.bs.dropdown', function(){
  $('#siteData').removeClass('halfOpacity');
});

HTML: HTML:

<div id='wrap'>
<a href="#" class="navbar-brand dropdown-toggle mobile-footer-brand" data-toggle="dropdown" id='switchDropdown'>Test Link</a>

<ul class='dropdown-menu' id='switchMenu'>
  <li>HORRAY!!!!</li>
</ul>
</div>
<div id='siteData'>Some Stuff<br>Moar stuff<br>Even moar stuffs</div>

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

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