Jquery 在AJAX加载页面中使用fancybox

Jquery 在AJAX加载页面中使用fancybox,jquery,ajax,load,fancybox,Jquery,Ajax,Load,Fancybox,我在这群人中搜索,在谷歌上搜索,但仍然没有找到答案 我也看到有些人有我的问题,但线程没有帮助,所以我在这里 这个问题很简单,为了帮助你,我用了一个.zip 可以测试的文件 我有一个带有一些链接的主页(index.php) 单击它们将通过AJAX(page.php)加载一个代码段 在代码段中有一个或多个链接,单击它们应该 打开一个iFramedFancyBox(fb.php) 好吧,fancybox除了第一个打开的链接外根本无法工作 然后我在Firefox中不断得到一个“t未定义”错误,这表明

我在这群人中搜索,在谷歌上搜索,但仍然没有找到答案 我也看到有些人有我的问题,但线程没有帮助,所以我在这里

这个问题很简单,为了帮助你,我用了一个.zip 可以测试的文件

  • 我有一个带有一些链接的主页(index.php)
  • 单击它们将通过AJAX(page.php)加载一个代码段
  • 在代码段中有一个或多个链接,单击它们应该 打开一个iFramedFancyBox(fb.php)
  • 好吧,fancybox除了第一个打开的链接外根本无法工作 然后我在Firefox中不断得到一个“t未定义”错误,这表明 我哪儿也不知道 我真的尝试了我能想象到的一切,但仍然没有运气

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

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

    $(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();
            });
        })
    });
    

    好了,好了,我把fancybox.js文件从名为page(page.php)的AJAX移到了主脚本(index.php):现在可以工作了!!谢谢有趣的提示:将函数移到调用之外,但仍在上面的单击函数中也不会起作用-它必须位于调用的success函数上。