我在应用程序中使用的是TB 3。我正在使用某些导航选项卡,并且默认情况下要禁用以下选项(这不是下拉菜单的一部分):

<ul class="nav">
    <li class="disabled"><a href="#tab" data-toggle="tab">Tab</a></li>
</ul>


我的禁用功能:

$('.nav li.disabled').on('click', function(e) {
    e.preventDefault();
    e.stopPropagation();
});


目的是在满足条件时删除.disabled,以便重新启用链接或再次单击该链接。这仅更改选项卡的外观,而不更改功能。进一步的测试表明,无论我在这里做什么,shown.bs.tab仍然会被触发。

最佳答案

显然,引导程序不“喜欢”更改活动选项卡。

这是working jsFiddle(Bootstrap 3.0)。
还有working jsFiddle(Bootstrap 2.3.2)。
这是想法:

$(document).ready(function() {

  $('#store-tab').attr('class', 'disabled');
  $('#bank-tab').attr('class', 'disabled active');

  $('#store-tab').click(function(event) {
    if ($(this).hasClass('disabled')) {
      return false;
    }
  });
  $('#bank-tab').click(function(event) {
    if ($(this).hasClass('disabled')) {
      return false;
    }
  });

  $('.selectKid').click(function(event) {
    $('li').removeAttr("disabled");
    $('#bank-tab').attr('class', 'active');
    $('#store-tab').attr('class', '');
  });
});


Courtesy of

关于javascript - javascript阻止Twitter Bootstrap标签链接激活,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19868506/

10-12 00:02
查看更多