0

我通过 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”,一切正常。

4

1 回答 1

0

通过添加解决:

jQuery('#ajax a').live('click', function(event) {
        event.preventDefault();
        if(jQuery(this).hasClass('fancybox')) {
            jQuery.parent().fancybox.close();
        }
    });
于 2013-02-28T16:51:48.133 回答