代码之家  ›  专栏  ›  技术社区  ›  sberry

jquery:Ajax加载内容中的$(window).bind('load',function())和$(document).ready(function())

  •  1
  • sberry  · 技术社区  · 15 年前

    我正在使用facebox( http://famspam.com/facebox )保存通过Ajax调用加载的某些内容。正在加载的内容内部有一个jquery ui滑块元素。在非Ajax加载的内容中,我可以使用$(window).bind('load',function())或$(document).ready(function())方法,以便通过调用像$(targetDiv').slider(…)触发滑块的构造;

    但是,当加载到facebox中时,这两种方法都不起作用。唯一能成功做到这一点的方法是在我的内容的末尾有一个图像,它带有一个调用准备功能的onload。

    有没有其他方法,不是那么刻薄?

    2 回复  |  直到 13 年前
        1
  •  1
  •   dan richardson    15 年前

    我已经破解了我的facebox好几次,并添加了一些额外的功能。其中之一是加载时的回调函数(将facebox内容作为参数传递)

    你可以找到我的版本 facebox here

    你可以这样使用它:

    jQuery.facebox({ ajax: 'load-file.html',
        callback: function(fb) {
           // You can now use fb as a scope
           jQuery('.find-me', fb).doSomething();
        }
    

    还有一些其他的小功能,从66行往下看就可以了:)

    希望这有帮助

        2
  •  3
  •   Mark Hall    13 年前

    您可以这样做:

     $(document).bind('reveal.facebox', function() { YOUR CALLBACK AFTER LOAD CONTENTS });
    
     jQuery.facebox({ ajax: 'load.html'});
    

    这对我有用!