2013-09-25 5 views
0

У меня есть вкладка начальной загрузки, которая загружает содержимое динамической страницы внутри страницы с разбиением на страницы. Я использую frameworkignign framework. Поток jquery работает с точной загрузкой содержимого на определенной вкладке, но то, что я заметил в firebug, когда я переключаюсь на другую вкладку, а затем возвращаюсь к предыдущей, то она снова загружает содержимое вкладки.Предотвращение загрузки динамического коннекта на вкладке начальной загрузки

Как я могу предотвратить загрузку предыдущей вкладки после повторной загрузки при нажатии.

Вот моя страница ..

<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

, тогда вы можете добавить кол-во, чтобы проверить, был ли этот элемент нажат, проверьте этот [скрипт] (http://jsfiddle.net/jcferrans/XmbMU/), если у вас есть другое событие click для второй вкладки, которую вы должны инициализировать второй счет, поэтому на него не влияет содержимое, загруженное в другое ... Надеюсь, это поможет! – javiercf

Смежные вопросы