我正在加载一堆数据并将其添加到div中。但是,数据中的某些项目是需要与fancybox一起使用的链接。我正在使用fancybox 1.3.4。我尝试了一些解决方案,比如$ fancybox.init();和$(文件).ajaxStop();没有人工作过。以下是我的代码:
$.post('/ajax/ajax-page.php', $('#filter-results').serialize(), function(boardData){
leaderboard.html(boardData);
upper_top_title.text(sport_skill_level+" "+sport_grad_year);
lower_top_title.text(sport_type+" Leaderboard");
Cufon.replace('.t');
// reload scripts necessary for data, fancybox and font
$.getScript("/js/fancybox/jquery.fancybox-1.3.4.pack.js", function(){
$.fancybox.init();
$("a.video").fancybox({
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'speedIn' : 400,
'speedOut' : 200,
'overlayShow' : true,
'showCloseButton' : true,
'width' : 670,
'height' : 385,
'titleShow' : false,
'type' : 'iframe'
});
});
$.getScript("/js/init.js", function() {
loading.hide().parent().find('#leaderboard').show();
filter_res_btn.removeClass("disabled_btn").removeAttr('disabled');
$('.ui-selectmenu').removeClass("disabled_btn").removeAttr('disabled');
});
});
虽然fancybox代码现在位于$ .getScript()中,但之前没有,我只是在发布之前尝试过。当我点击链接时,我现在得到的是一个错误说:
t未定义(范围4中的19个)
如果您有任何建议,请与我们联系。
答案 0 :(得分:2)
Fancybox 1.3.4不支持动态添加的元素,但是您可以使用jQuery(v1.7.x)API .on()
方法将这些新元素绑定到fancybox。 Check this post for "how to"