【问题标题】:Using fancybox in an AJAX loaded page在 AJAX 加载页面中使用 fancybox
【发布时间】:2023-03-31 20:55:01
【问题描述】:

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

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

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

  1. 我有一个带有一些链接的主页 (index.php)
  2. 点击它们会加载一个通过 AJAX (page.php) 的 sn-p 文件
  3. 在sn-p中有一个或多个链接,点击它们应该 打开 iframed fancybox (fb.php)

好吧,除了第一个打开的链接外,fancybox 无法正常工作 然后我在 Firefox 中不断收到“t is not defined”错误,这点 我无处 我真的尝试了我能想象的一切,但仍然没有运气......

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

【问题讨论】:

    标签: jquery ajax load fancybox


    【解决方案1】:

    不要将脚本放到fancybox() ajax 响应内容中的链接。相反,您要做的是将fancybox() 调用移到加载函数的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):它现在可以工作了!!谢谢!!!
    • 有趣的提示:将函数移到调用之外但仍然在上面的点击函数中也不起作用 - 它必须在调用的成功函数上。
    猜你喜欢
    • 2011-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    • 2014-12-04
    • 1970-01-01
    相关资源
    最近更新 更多