当整个选项卡元素在初始页面加载后添加到页面时,如何初始化twitter bootstrap 2.0选项卡



我正在通过Ajax将一些HTML加载到一个页面中,该页面包含一个新的选项卡元素。唯一的问题是选项卡不起作用,因为引导程序已经初始化。因此,我尝试了以下代码,这些代码使用jQuery正确地针对包含选项卡的预期ul。但是,选项卡没有初始化。

以下是HTML(在DOM初始化后,通过AJAX加载到页面中):

<div class="tabbable tabs-left">
  <ul class="nav nav-tabs">
    <li class="active"><a href="#tab-fixes-27" data-toggle="tab">One</a></li>
    <li class=""><a href="#tab-final-27" data-toggle="tab">Two</a></li>
    <li class=""><a href="#tab-orig-27" data-toggle="tab">Thre</a></li>
  </ul>
  <div class="tab-content">
    <div class="tab-pane active" id="tab-fixes-27">
      <p>Conten1</p>
    </div>
    <div class="tab-pane" id="tab-final-27">
      <p>Conten2</p>
    </div>
    <div class="tab-pane" id="tab-orig-27">
      <p>Conten3</p>
    </div>
  </div>
</div>

然后我的javascript:

$('.nav-tabs').tab();

从我读到的内容来看(http://www.mightywebdeveloper.com/coding/bootstrap-2-tabs-jquery-load-content/)这应该初始化选项卡,但它什么都不做。

问题是,尽管初始化了选项卡,但当我点击它们时,什么都不会发生。即使我使用.tab("显示")瞄准特定的选项卡,它也会正确显示。当我点击标签时仍然没有发生任何事情。

此外,如果我在事实之后添加一个附加项,这些选项卡似乎可以正常工作(请参阅http://jsfiddle.net/HLj4N/9/单击按钮后将上面的HTML附加到div中)。添加bootstrap.js时,似乎有人已经对其进行了初始化。

你有没有想过为什么点击标签什么都没做?

何时附加选项卡?像下面这样加载ajax之后?

$.get( baseUrl + 'blabla.html').done(
  $('.nav-tabs').tab();
);

最新更新