2010-02-24 2 views
0

У меня есть страница PHP, где пользователи могут загружать фотографии (используя Ajax & PHP-скрипт). Те загруженные фотографии (большие пальцы) отображаются после загрузки в DIV ниже поля для загрузки, а плагин fancybox (я использую его для всплывающего окна для фотографий) работает нормально.Проблема с JQuery с плагином

Затем, после нажатия кнопки отправки, я хочу клонировать этот DIV на той же странице на доске объявлений, ниже других сообщений с загруженными фотографиями или без них.

Когда я пытаюсь сделать это с помощью:

var pht = $("#photos").clone().addClass('p_pht'); 

и попытаться отобразить отправленные фотографии пыльник послал сообщение, как это:

$("div#wall").append('<div class=msg>'+ message +'</div><div class=n_pht>'+ pht.html() +'</div>'); 

FancyBox плагин не работает. Только ссылка работает, но не со всплывающим окном, как должно быть.

Что я делаю неправильно?

ответ

2

потому что вы изменили dom, плагин fancybox не знает, что существуют новые элементы. есть два пути решения этого.

  1. Вызвать FancyBox снова плагин, когда вы закончите добавление элементов
  2. Использование JQuery жить так, как ответил здесь jquery live & livequery

Надежда, что помогает.

+0

Я стараюсь жить в Jquery. Тем не менее, это не работает :( я ставлю этот код после того, как я добавил элементы с Append:. $ ('.poruka_tekst ') жить (' нажмите', функция() { $ (это) .fancybox(); });. \t Но ничего не произошло Когда я ставлю эту функцию только для проверки DIV идентификатора, предупредительное сообщение обнаружилось $ ('.pht') жить (.. 'click', function() { предупреждение («тестирование ссылок»); }); \t Как я уже сказал, внизу страницы fancybox работает нормально. Могу ли я попробовать что-то другое? – Sergio

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