Bootstrap 的 JavaScript 下拉菜单 - 数据属性行为



Bootstrap的网站告诉我们,

通过数据属性或 JavaScript,下拉插件通过在父列表项上切换 .open 类来切换隐藏内容(下拉菜单(。

在以下代码(被认为是"通过 JavaScript"(中,有以下脚本:

<script type="text/javascript">
$(document).ready(function(){
    $('.myDropdownHandle').dropdown('toggle');
});

我的印象是,如果我们想切换"通过 Javascript",这个代码块对于下拉列表工作是必需的,但我可以擦除该块,下拉列表仍将通过数据属性工作,但是如果我擦除数据属性,下拉菜单将根本不起作用。

<!DOCTYPE html>
<html lang="en">
<head>
<script type='text/javascript'
  src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<link rel="stylesheet"
  href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet"
  href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
<script
  src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script
  src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('.myDropdownHandle').dropdown('toggle');
});
</script>  
</head>
  <body style='margin:30px'>
    <div class="dropdown" id="myDropdown">
         <a class="myDropdownHandle" data-toggle="dropdown" data-target="#" href="#">
            Dropdown <span  class="caret"></span>
        </a>
        <ul class="dropdown-menu">
            <li><a  href="#">Link 1</a></li>
            <li><a  href="#">Link 2</a></li>
            <li><a  href="#">Link 3</a></li>
            <li><a  href="#">Link 4</a></li>
        </ul>
    </div>
  </body>
</html>

此jQuery代码将使在加载页面时显示下拉列表,如下所示,下拉列表的内容将可见。

$(document).ready(function(){
    $('.myDropdownHandle').dropdown('toggle');
});

因此,如果您不希望在页面加载时切换下拉列表,请删除这段代码。但是,如果删除数据属性,则下拉列表的行为将不是一个属性。

参考此W3School链接将为您进一步阐明。下面是一个示例,其中显示了下拉切换的实际操作。

如果您在此处阅读本节的底部

无论您是通过 JavaScript 调用下拉列表还是改用 data-api,data-toggle="dropdown" 始终需要出现在下拉列表的触发器元素上。

此行所做的一切,它决定是否要自动打开菜单。

$(document).ready(function () {
        $('.dropdown-menu').dropdown('toggle');
<div class="dropdown">
    <button id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        Dropdown trigger
    </button>
    <div class="dropdown-menu" aria-labelledby="dLabel">
        <ul>

最新更新