2010-08-28 1 views
1

Я пишу некоторые html с JS в div.jQuery FancyBox/проблема с лайтбокс

как этот

$("#picdiv").html("<a rel='lightbox' href='pic.jpg'><img src='htumb.jpg'></a>"); 

это всего лишь пример.

Итак, у меня в $ (документе) .ready Funcktion этот код.

$('a[rel=lightbox]').fancybox(); 

но если я нажимаю на ссылку, попадет на страницу с изображением ... я знаю, что проблема должна быть, я пишу HTML с JS, но у меня нет другого выбора. Так что я могу сделать fancybox?

ответ

0

раствор

$('.picture_display').find('a[rel=lightbox]').fancybox(); 
0

Это связано с тем, как работает jQuery. Функция fancybox будет работать только для текущих элементов на странице, а не для динамически добавленных javascript.

Быстрое исправление может быть, чтобы быть модифицировать код следующим образом:

$("#picdiv").append($("<a rel='lightbox' href='pic.jpg'><img src='htumb.jpg'></a>").fancybox()); 

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