JQueryTools живут? - PullRequest
       7

JQueryTools живут?

0 голосов
/ 24 марта 2010

Я использую JQuery Tools http://flowplayer.org/tools/ в одном большом проекте.

Проблема в следующем: когда я загружаю страницу, используя ajax, все эти инструменты JQuery Tools перестают работать. Я знаю, что мне нужно заново привязать события или использовать jQuery.Live, но я не знаю, как это сделать с помощью JQuery Tools.

Мне нужны такие методы, как

$(".element").overlay(...)
$(".element").tabs(...)

workin live после использования jQuery.load () (Ajax)

Кто-нибудь знает, как это сделать, пожалуйста?

Вот обновление с кодом ajax и live:

$(".commentlist h3 a").click( function () {
  $('#container').html('loading').load('test.php #business-wrapper', function() {
     alert('Load was performed.');
  });
  return false;
});

test.php содержит эти вкладки, и событие 'load' не работает с ajax, а без ajax также не работает

$("ul.tabs").live('load', function() {
  $(this).tabs("div.panes > div", { effect: 'fade', current: 'active', tabs: 'li' }); 
})

Спасибо.

Ответы [ 2 ]

0 голосов
/ 24 марта 2010

Если вы заменяете свои элементы, то вам нужно повторно запустить этот код на них в вашем ajax success или complete функции. Вот пример превращения его в функцию (вы можете продублировать ее, чтобы она была аккуратной / простой в обслуживании):

function setupStuff(context) {
  $(".element", context).overlay(...)
  $(".element", context).tabs(...)
}

$.ajax({
   //Stuff...
   success: function(data) {
     //Stuff with results...
     setupStuff(data);
   }
});

В document.ready назовите это изначально:

$(function() {
  setupStuff(document);
});
0 голосов
/ 24 марта 2010

У вас есть событие загрузки для этого:

$.live('load', function(event) {
  $(this).overlay();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...