Bootstrap 的 Dropdown
一、简介
Dropdown 就是下拉列表,这里 有一个例子。
Dropdown 的完整代码如下:
<div id="dropdownWrapper">
    <button class="btn btn-default dropdown-toggle" type="button" id="btnTargetDropdownMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        Dropdown <span class="caret"></span>
    </button>
    <ul class="dropdown-menu" aria-labelledby="btnTargetDropdownMenu">
        <li class="dropdown-header">Dropdown header</li>
        <li><a href="#">Action</a></li>
        <li><a href="#">Another action</a></li>
        <li class="disabled"><a href="#">Something else here</a></li>
        <li role="separator" class="divider"></li>
        <li><a href="#">Separated link</a></li>
    </ul>
</div>
{提示}
.dropdown-toggle这个类不是必须的,不过稍后讲到 Dropdown 的 JavaScript 代码调用时要使用它,所以为了方便,先在这里一并写入。#dropdownWrapper表示 Dropdown 的容器,可根据具体情况命名,稍后讲到事件回调时,要用到它。
默认的 Dropdown 是隐藏的,让它出现有两种方式:
- 标签 API
 - JavaScript 代码
 
二、通过标签 API
- 在 
.dropdown-toggle上添加data-toggle="dropdown"(重申:.dropdown-toggle不是必须添加的)。 - 下拉菜单 
<ul>添加.dropdown-menu。 
三、通过 JavaScript 代码
使用 $('.dropdown-toggle').dropdown('toggle'); 可以让下拉框展开。
{注意} 无论是使用标签 API 还是 JavaScript 代码,
data-toggle="dropdown"始终要写上。
四、Dropdown 的事件回调
Dropdown 回调事件总是在 .dropdown-menu 的父元素上触发(此处指  #dropdownWrapper)。事件种类主要有四个:
show.bs.dropdown:在 Dropdown 显示时触发。shown.bs.dropdown:在 Dropdown 显示之后触发。hide.bs.dropdown:在 Dropdown 隐藏时触发。hidden.bs.dropdown:在 Dropdown 隐藏之后触发。
举个例子:
$('#dropdownWrapper').on('shown.bs.dropdown', function showDropdown() {
    console.log('Dropdown is showed!');
});
五、设备可访问性
为了提高代码的设备可访问性,我们给 Dropdown 添加一些额外代码。
- 在 
#btnTargetDropdownMenu上:添加aria-haspopup="true",表示有子菜单。 - 在 
#btnTargetDropdownMenu上:添加aria-expanded="false",表示菜单现在没有展开。 - 在 
.dropdown-menu上:添加aria-labelledby="...",值为受指向标签的id,在这里等同于设置aria-label="Dropdown",屏幕阅读器读到这里时,就会读出Dropdown这个单词。 
六、参考链接
http://getbootstrap.com/javascript/#dropdowns
(完)
Bootstrap 的 Dropdown的更多相关文章
- 使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js
		
前言:前端小白一枚,刚注册博客,先发个学习过程中新碰到小问题试试水吧~ 摘要:最近在学习bootstrap,偶然碰到了一个小问题,bootstrap网站也没有做过多的解释,今天分享给大家. 问题描述: ...
 - Bootstrap中DropDown插件显示下拉列表,点击下拉列表区域,不会再自动关闭。
		
目标: Bootstrap中DropDown插件显示下拉列表,点击下拉列表区域,不会再自动关闭. 参考:http://v3.bootcss.com/javascript/#dropdowns / ...
 - 基于Bootstrap里面的Button dropdown打造自定义select
		
最近工作非常的忙,在对一个系统进行改版.项目后台是MVC1.0开发的,但是前端部分已经改过几个版本,而已之前的设计师很强大,又做设计又做前端开发.而已很时尚和前沿,使用了一直都很热门的Bootstra ...
 - bootstrap的导航改造
		
在使用bootstrap制作后台时用到了响应式导航条,其中dropdown组件更是用的比较多,用的多需要点击的就多,dropdown默认鼠标左键单击才展开,如果使用鼠标放上去(hover)就展开则会省 ...
 - Bootstrap下拉菜单
		
前面的话 网页交互的时候经常会需要上下文菜单或者隐藏/显示菜单项,Bootstrap默认提供了用于显示链接列表的可切换.有上下文的菜单.而且在各种交互状态下的菜单展示需要和javascript插件配合 ...
 - 第二百三十七节,Bootstrap图标菜单按钮组件
		
Bootstrap图标菜单按钮组件 学习要点: 1.小图标组件 2.下拉菜单组件 3.按钮组组件 4.按钮式下拉菜单 本节课我们主要学习一下 Bootstrap 的三个组件功能:小图标组件.下拉菜单组 ...
 - (转)Bootstrap 之 Metronic 模板的学习之路 - (4)源码分析之脚本部分
		
https://segmentfault.com/a/1190000006709967 上篇我们将 body 标签主体部分进行了简单总览,下面看看最后的脚本部门. 页面结尾部分(Javascripts ...
 - vue项目踩坑-引入bootstrap
		
1.下载jquery; npm install jquery --save-dev 2.在webpack.base.conf.js中添加如下内容: var webpack = require('web ...
 - 【Yeoman】热部署web前端开发环境
		
本文来自 “简时空”:<[Yeoman]热部署web前端开发环境>(自动同步导入到博客园) 1.序言 记得去年的暑假看RequireJS的时候,曾少不更事般地惊为前端利器,写了<Sp ...
 
随机推荐
- python lambda 用途
			
可以让一个带参数函数,传递并以无参调用 def test(a): print a a=test # #a() a=897987 fun=lambda : test(a) fun()
 - 排序算法 java实现2
			
继续排序算法 4.冒泡排序 从第一个开始,跟后面一个数比较,如果比后面大就交换位置,这样没完成一轮,就可以把最大的选出来 public static <T extends Comparable& ...
 - UVA - 11754 Code Feat (分块+中国剩余定理)
			
对于一个正整数N,给出C组限制条件,每组限制条件为N%X[i]∈{Y1,Y2,Y3,...,Yk[i]},求满足条件的前S小的N. 这道题很容易想到用中国剩余定理,然后用求第k小集合的方法输出答案.但 ...
 - BZOJ1047:[HAOI2007]理想的正方形
			
浅谈队列:https://www.cnblogs.com/AKMer/p/10314965.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?i ...
 - Python-使用unrar库时Couldn't find path to unrar library的解决办法
			
在Pycharm安装完unrar后,还要安装rar官方的库 不然运行的时候会抛出Couldn't find path to unrar library的错误 Windows: 下载rarlib的库文件 ...
 - 如何解决SSH登录Solaris主机速度慢的问题
			
SSH登录速度慢可能有多种原因. 1. 与DNS有关 缺省情况下,当客户端用SSH登录solaris服务器时,服务器会试图反向解析客户端的IP 地址(即把IP地址解析成机器名).如果Solaris系统 ...
 - enable or disable Oracle block change tracking
			
Oracle的block change tracking用于记录上次备份以来改变过的block信息,因此打开block change tracking可以大大加快增量备份的速度. 1. Enable ...
 - 11-23网页基础--JavaScript基础知识
			
第一课 JavaScript简介 一.定义:JavaScript是脚本语言,需要宿主文件,它的宿主文件是html文件. JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 ...
 - Shell编程进阶   2.2 shell数组
			
给一个字符指定一个数组 怎么显示数组 a= echo $a a=( ) echo $a echo ${a[@]} echo ${a[*]} 指定显示数组中第几个数字 echo ${a[]} echo ...
 - css垂直居中方法(二)
			
第四种方法: 这个方法把一些div的显示方式设置为表格,因此我们可以使用表格的vartial-align属性. 代码如下: <!doctype html> <html lang=&q ...