Ajax и проблема с facebox - PullRequest
       23

Ajax и проблема с facebox

0 голосов
/ 05 августа 2010

У меня есть веб-сайт, который использует ajax jquery и facebox.Демонстрация здесь: http://temp.nevergone.eu/facebox.php Внутри div "#content" есть несколько ссылок на другие страницы, которые открываются нормально с помощью facebox.

Если я перезагружаю содержимое этого div с помощью ajax jquery, то ссылкибольше не будет всплывать, используя эффект facebox.

Я пытался создать функцию, которую я буду вызывать всякий раз, когда я вызываю функцию, которая изменяет содержимое div #content, но безуспешно.Я знаю, что я должен переустанавливать / перезагружать facebox в DOM каждый раз, когда загружаю что-то новое на страницу, содержащую rel = "lightbox", но я не могу понять, как это сделать. Я вызываю это внутри. Это работает, если я использую функцию jquery HTML, ноесли я использую функцию загрузки, она больше не будет работать.

function updatec() {
    $("#content").load('sometext.html');
    reinit();
}

function reinit() {
  $('a[rel*=facebox]').facebox() ;
}

sometext.html содержит только <a href="http://www.google.com" rel="facebox">CLICK ME I DONT WORK</a>(if you click it it wont open using facebox,it will open like a normal link)'

1 Ответ

0 голосов
/ 05 августа 2010

Я думаю, у меня есть твоя проблема. Вы повторно инициализируете свой скрипт facebox перед тем, как вставить содержимое.

То, что у вас сейчас есть, это:

function reinit() {
   $('a[rel*=facebox]').facebox() ;
}
function updatec() {
reinit();
$("#content").html('<a href="http://www.google.com" rel="facebox">CLICK ME I DONT          WORK</a>');
  }

Вам нужно переместить функцию повторной инициализации ниже HTML-вставки следующим образом:

function updatec() {    
$("#content").html('<a href="http://www.google.com" rel="facebox">CLICK ME I DONT          WORK</a>');
    reinit();
  }

Иногда вам просто нужна другая пара глаз на проблему.

...