一尘不染

在AJAX加载页面中使用fancybox

ajax

我在这个小组中搜索并在Google周围搜索,但仍然没有运气,我也看到有些问题,但是线程并没有帮助,所以我在这里

这个问题很简单,为了帮助您,我在.zip文件中打包了可以测试的文件

http://www.ivanhalen.com/fancyproblem.zip

  1. 我有一些链接的主页(index.php)
  2. 单击它们将加载通过AJAX的摘要(page.php)
  3. 在代码段中,有一个或多个链接,单击它们应打开一个iframed fancybox(fb.php)

好吧,除了第一个打开的链接外,fancybox还是不起作用。然后我在Firefox中不断收到“未定义”错误,这表明我无处尝试任何我能想象的东西,但是仍然没有运气…

拜托,你能帮我吗 非常感谢


阅读 298

收藏
2020-07-26

共1个答案

一尘不染

不要将脚本放置fancybox()在ajax响应内容中的链接中。相反,您要做的是将fancybox()调用移到complete()load函数的回调中,如下所示:

$(document).ready(function(){
    $('#links a').live('click', function(e){
        e.preventDefault();
        var url = $(this).attr('href');
        $('#content').load(url, function(data, stat, req){
            $("a#popup").fancybox();
        });
    })
});
2020-07-26