2012-07-09 2 views
0

Я использую fancybox, чтобы показать увеличенное изображение, добавив меньшую фотографию в ссылку. Это прекрасно работает. Была небольшая проблема с приложением jQuery tooltip, поэтому я получил var 'title_from_alt' и задал заголовок fancybox с этим. Это не так важно.fancybox не привязан к ссылкам после ajax call

Хорошо, теперь я получаю страницу через AJAX-вызов. На частичном, есть новые ссылки с классом «fancyboxfoto». Но эти недавно добавленные ссылки не имеют прикрепленного к ним fancybox.

Я читал о .on и .live и т. Д., Но они, похоже, хотят событие (например, «щелчок»), но в приведенном ниже коде я не вижу событие «щелчок». Что делать!?

jQuery(document).ready(function($){ 

//fancybox 
var title_from_alt = $("a.fancyboxfoto").attr("alt"); 
$("a.fancyboxfoto").fancybox({ 
    'titlePosition'  : 'over', 
    'onComplete' : function() { 
     $("#fancybox-wrap").hover(function() { 
      $("#fancybox-title").show(); 
     }, function() { 
      $("#fancybox-title").hide(); 
     }); 
    }, 
    'overlayColor'  : '#000', 
    'title'   : title_from_alt, 
    'overlayOpacity' : 0.9, 
    'showCloseButton' : 'true', 
    'autoScale' : 'true', 
    'autoDimensions' : 'true' 
}); 
}); 

HTML-

<a class="fancyboxfoto" title=" Tirzo Martha, Shipwrecked, 2002 " href="/images/Shipwrecked.jpg"> 
    <img class="tiptip" vspace="12" hspace="12" align="left" title=" Tirzo Martha, Shipwrecked, 2002 " src="/images/Shipwrecked-kl.jpg"> 
</a> 

ответ

0

fancybox v1.3.x не поддерживает динамически добавленные элементы.

Вы можете найти workaround here (примеры включены)

Кстати, при использовании этого метода, вам не нужно «инициализировать FancyBox снова после получения новых элементов DOM с помощью AJAX»

0

Вы должны инициализировать FancyBox снова после retreiving новых элементов DOM с помощью AJAX.

+0

Безразлично» t имеет смысл, что, если вам нужно прикрепить событие к другим элементам перед вызовом ajax –

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