2013-09-25 31 views
0

我有一個引導標籤,可以通過分頁加載動態網頁內容。我正在使用codigniter框架。流動的jquery可以在特定的選項卡中正常加載內容,但是我在螢火蟲中注意到每當切換到另一個選項卡然後返回到前一個選項卡時,它就會再次加載選項卡內容。防止在引導選項卡中加載動態鏈接兩次

我怎樣才能防止加載單擊時再次加載前一個選項卡。

這裏是我的網頁..

<div class="tabbable"> 
    <ul class="nav nav-tabs" id="myTabs">  
     <li id="home"><a href="#home" class="active" data-toggle="tab" id="page">Home</a></li> 
     <li id="foo"><a href="#get_all_division" data-toggle="tab" id="page">Foo</a></li> 
     <li id="bar"><a href="#get_all_district" data-toggle="tab" id="page">Bar</a></li> 
    </ul> 

    <div class="tab-content"> 
     <div class="tab-pane active" id="home"></div> 
     <div class="tab-pane" id="get_all_division"></div> 
     <div class="tab-pane" id="get_all_district"></div> 
    </div> 
</div> 

<script> 
    $(function() { 
     var baseURL = 'http://allinfo/area/'; 
     //load content for first tab and initialize 
      $('#get_all_division').load(baseURL+'get_all_division', function() { 
       $('#myTabs').tab(); //initialize tabs 
      }); 

     $('#get_all_division').on('click', 'a.page', function() { 
      $('#get_all_division').load($(this).attr('href')); 
     return false; 

     }); 

      $('#get_all_district').load(baseURL+'get_all_district', function() { 
       $('#myTabs').tab(); //initialize tabs 
      }); 


     $('#get_all_district').on('click', 'a.page', function() { 
      $('#get_all_district').load($(this).attr('href')); 
     return false; 
     }); 

     $('#myTabs').bind('show', function(e) {  
      var pattern=/#.+/gi //use regex to get anchor(==selector) 
      var contentID = e.target.toString().match(pattern)[0]; //get anchor   
      //load content for selected tab 
      $(contentID).load(baseURL+contentID.replace('#',''), function(){ 
       $('#myTabs').tab(); //reinitialize tabs 
      }); 
     }); 
    }); 
</script> 

回答

0

你可以使用.empty()刪除加載的內容,一旦標籤被利用回調隱藏,或點擊另一個選項卡時

$('#get_all_district').load(baseURL+'get_all_district', function() { 
      $('#get_all_division').empty(); 
      $('#myTabs').tab(); //initialize tabs 
}); 
+0

我不想清空內容。只要它加載了,不想在點擊時再次加載它。 – shahriar31

+0

然後你可能想添加一個計數來檢查元素是否被點擊過。選中這個[fiddle](http://jsfiddle.net/jcferrans/XmbMU/),如果你有第二個選項卡的另一個點擊事件,你必須初始化第二個計數,所以它不會受到另一個內容加載的內容...希望它有幫助! – javiercf

相關問題