首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery在Boostrap中更改按钮标题

问jQuery在Boostrap中更改按钮标题
EN

Stack Overflow用户
提问于 2015-11-03 20:36:15
回答 1查看 50关注 0票数 0

我尝试使用相同类型的jQuery来更改面板代码,但是它没有工作。我不知道我在这里错过了什么。该按钮是打开下拉菜单和更改标题在按钮让屏幕阅读器用户知道菜单是打开或关闭。以下是代码:

代码语言:javascript
复制
    <div class="navbar navbar-default navbar-fixed-top">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" id="menu_button" role="menu" class="navbar-toggle pull-left" title="Menu button closed" data-toggle="collapse" data-target="#myNavbar" >
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button> 
          <a class="navbar-brand" href="#">News and Information</a>
      </div>

      <div class="collapse navbar-collapse" id="myNavbar">
          <ul class="nav navbar-nav">
            <li class="active"><a href="#">Home</a></li>
            <li><a href="#">Page A</a></li>
            <li><a href="#">Page B</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Page C <b class="caret"></b></a>
                <ul class="dropdown-menu">
                  <li><a href="#">Page C - 1</a></li>
                  <li><a href="#">Page C - 2</a></li>
                  <li><a href="#">Page C - 3</a></li>        
                </ul>        
            </li>
          </ul>
      </div>
    </div>
  </div>

jQuery

代码语言:javascript
复制
    <script>
    $('.navbar-header').on('shown.bs.navbar-header', function(){
        $(this).parent().find(".navbar-toggle").attr('title', 'dropdown menu open');
        }).on('hidden.bs.navbar', function(){
        $(this).parent().find(".navbar-toggle").attr('title', 'dropdown menu closed');
    });
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-03 21:25:53

您的JS代码是错误的:

  1. 您必须将事件处理程序附加到.navbar-collapse (而不是.navbar-header)。
  2. 没有shown.bs.navbar-header。使用shown.bs.collapse代替。

用这个:

代码语言:javascript
复制
$('.navbar-collapse').on('shown.bs.collapse', function() {
  $(this).parent().find(".navbar-toggle").attr('title', 'dropdown menu open');
}).on('hidden.bs.collapse', function() {
  $(this).parent().find(".navbar-toggle").attr('title', 'dropdown menu closed');
});

CODEPEN

顺便说一句,Bootstrap使用aria-expanded来表示可折叠元素的状态,所以您不必使用它。

例如,当作者使用可折叠内容来隐藏导航菜单或内容列表时,触发链接或按钮应指示屏幕读取器用户下面的可折叠内容是处于展开状态还是处于折叠状态。aria展开属性用于此目的。

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

https://stackoverflow.com/questions/33508577

复制
相关文章

相似问题

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