Using fancybox in an AJAX loaded page

瘦欲@ 提交于 2019-11-30 18:10:56

问题


I searched in this group and googled around, but still no luck in answers I see also that some have my problem, but the threads didn't help, so here I am

The question is easy, and to help you I've packed a .zip with the files you can test

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

  1. I have a main page with some linkes (index.php)
  2. Clicking on them loads a snippet througn AJAX (page.php)
  3. In the snippet there is one or more links, clicking on them should open an iframed fancybox (fb.php)

Well, the fancybox just won't work, except for the first opened link Then I keep getting a "t is not defined" error in Firefox, that points me nowhere I tried really everything I could imagine, but still no luck...

Please, can you help me? Thanks a lot


回答1:


Don't put the script to fancybox() your links in content of the ajax response. Instead, what you want to do is move the fancybox() call into the complete() callback of the load function, like so:

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


来源:https://stackoverflow.com/questions/4079821/using-fancybox-in-an-ajax-loaded-page

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!