我通过ajax加载一些内容,然后启动fancybox来显示该内容。
检索内容的代码:
jQuery('.trigger').click(function(event) {
event.preventDefault();
var someid = window.location.hash.substring(1);
jQuery.ajax({
type: "GET",
url: "index.php",
data: "?option=com_content&view=article&id="+someid+"&tmpl=component",
success: function(data){
jQuery("#ajax").html(jQuery(".article",jQuery(data)).html());
jQuery("#ajax").fancybox().trigger('click');
}
});
});
此代码有效 - 它会加载一些内容并将其显示在fancybox窗口中。
问题是该内容还将缩略图图像链接到另一个图像,该图像必须再次在fancybox中打开。但是,当我点击图像时,没有任何反应。
除了应该从检索到的内容中打开的图像外,一切正常。
但是,如果我不在fancybox窗口中显示检索到的内容,即只是将其附加到某个元素,那么图像将正常工作。
另请注意,在同一网站的另一部分,我不使用ajax我有“fancybox in fancybox thing”,一切正常。
答案 0 :(得分:0)
通过添加:
解决jQuery('#ajax a').live('click', function(event) {
event.preventDefault();
if(jQuery(this).hasClass('fancybox')) {
jQuery.parent().fancybox.close();
}
});