2009-04-21 5 views
1

Я использую jQuery для динамического создания вкладок, но каждый раз, когда я нажимаю одну вкладку, он снова загружает целевой URL. Как отключить поведение перезагрузки, если я не захочу перезагрузить его снова? большое спасибо.Как отключить перезагрузку при динамическом создании вкладки?

ответ

4

Использование event.preventDefault():

$('a.tab').click(function(event) { 
    event.preventDefault(); // this is the key 
    // your code here 
}); 

Edit: Что касается Вашего комментария - просто set cache to true:

$(document).ready(function() { 
    $apTabs = $("#apTabs").tabs({ 
     // ... 
     cache: true, // this does the magic 
     // ... 
    }); 
}); 
+0

спасибо за ваш быстрый ответ :-), но отключить событие по умолчанию приведет к тому, что моя выбранная вкладка не будет отображаться. Мне нужно показать контент, полученный из начальной загрузки, просто хочу, чтобы он снова не запрашивал контент с сервера. Большое спасибо. – Matt

+0

Спасибо за точку. установить «кеш» на true, сделал магию. – Matt

0

Сообщение мой код для справки:

$(document).ready(function() { 

     $apTabs = $("#apTabs").tabs({ 
       ajaxOptions: { async: true }, 
      cache:false, 
      add: function(event, ui) { 
       //immdeiately select the new created one 
       $apTabs.tabs('select', '#' + ui.panel.id); 
      } 

      }); 

    }); 



    <div id="apTabs"> 
    <ul> 
     <li></li> 
    </ul> 
    <div></div> 
    </div> 
Смежные вопросы