单击Bootstrap 3禁用的菜单项(li)仍可参考

时间:2018-07-19 03:20:20

标签: html twitter-bootstrap

我正在使用引导程序3,并且有一个菜单项被禁用;但是,当我选择它时,仍然会参考:

function upload(uint8[5] _inputs) public view returns ( bytes32 resultId) {
    // do something here
    // save ad calculate
    return "123";
 }

如何停止使用参考(即,真正禁用)。

我的js:

<ul class="dropdown-menu">
    <li><a class="dropdown-item" href="E1ActivitySelect.html">Activity - E1 Administration</a></li>
    <li><a href="#">Activity - E1</a></li>
    <li class="divider"></li>
    <li class="disabled"><a href="Camp.html">Camps</a></li>
    <li><a class="dropdown-item" href="#">Hikes</a></li>
    <li><a href="#">Major Events</a></li>
    <li><a href="#">Pen Pals</a></li>
</ul>

3 个答案:

答案 0 :(得分:1)

Bootstrap并没有真正禁用它只是看起来已禁用的内部锚。正确的方法是这样定义anchor而不使用href

<li class="disabled"><a>Camps</a></li>

如果您需要在其中放置href,则必须通过JavaScriptjQuery来禁用点击:

$(document).ready(function() {
  // For dynamically added elements
  $(document).on("click", ".dropdown-menu li.disabled a", function() {
    return false;
  });

  // For staticly loaded elemetns
  /*
  $(".dropdown-menu li.disabled a").click(function() {
    return false;
  });
  */
});
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<div class="dropdown">
  <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Dropdown
  <span class="caret"></span></button>
  <ul class="dropdown-menu">
    <li><a class="dropdown-item" href="E1ActivitySelect.html">Activity - E1 Administration</a></li>
    <li><a href="#">Activity - E1</a></li>
    <li class="divider"></li>
    <li class="disabled"><a href="Camp.html">Camps</a></li>
    <li><a class="dropdown-item" href="#">Hikes</a></li>
    <li><a href="#">Major Events</a></li>
    <li><a href="#">Pen Pals</a></li>
  </ul>
</div>

如果您打算动态添加元素,则可以将click处理程序附加到document本身。原因是因为jQuery代码中的事件处理程序是在第一次加载页面时附加的,因此在页面加载后添加元素时,附加了事件处理的代码已经运行,因此您可以重新附加事件处理新插入的元素,或仅将它们添加到这些新加载的元素的容器元素中。 document几乎所有人都有,因此这始终是一个安全的选择。

答案 1 :(得分:0)

要完全停止/禁用链接,您可以使用href="javascript:void(0),这将使您的href停止锚标记

答案 2 :(得分:0)

您只能使用一条CSS行来避免任何链接上的事件:

subplots