jquery模式插件无法处理动态加载的图像

jquery模式插件无法处理动态加载的图像,jquery,dynamic,colorbox,flickr,Jquery,Dynamic,Colorbox,Flickr,我正在使用api从flickr动态加载图像。但是,当我尝试使用colorbox、PrettyTo或其他jquery模式窗口时,它们不起作用。指向较大图像的链接仅在新窗口中打开图像 我的测试页面: 我假设这是由于模式插件加载之前,图像已经完成拉 关于如何应对的思考 谢谢 更新: 尝试使用: $('.colorbox').live('click', function() { $.fn.colorbox({href:$(this).attr('href'), open:true}); return

我正在使用api从flickr动态加载图像。但是,当我尝试使用colorbox、PrettyTo或其他jquery模式窗口时,它们不起作用。指向较大图像的链接仅在新窗口中打开图像

我的测试页面:

我假设这是由于模式插件加载之前,图像已经完成拉

关于如何应对的思考

谢谢

更新:

尝试使用:

$('.colorbox').live('click', function() { $.fn.colorbox({href:$(this).attr('href'), open:true}); return false; }
这不起作用,但我试着在我的flickr api中使用。我使用的FlickrAPI使用.live向div的子级添加属性

 $('#wrapper').live('mouseover', function(){
                   $(this).children('p').attr('class', 'image-info');
                });

但我不知道如何更改上述内容以使用colorbox。我将鼠标悬停改为单击,但我不知道如何使用$添加colorbox函数(这个)。children

你说得对。图像在插件绑定后加载。在jQuery中,您有一个事件,它与事件类似,只是它也适用于动态加载的dom元素。

为每个图像添加一个加载处理程序。在处理程序中,在加载每个图像时向其添加颜色框。要实现这一点,您需要在设置src之前添加处理程序并将其添加到DOM中,否则您会遇到在处理程序之前加载图像的问题,从而导致事件不会发生。您还可以将锚点标记为添加了颜色框,并使用具有适当长超时的计时器来“追赶”在应用处理程序之前加载的任何图像,如果无法保证处理程序在图像开始加载之前处于活动状态。

我遇到了同样的问题,最终解决了!在获取src之前添加加载处理程序应该通过调用colorbox函数来完成。使用您的代码,它将如下所示:

 ...
 $.getJSON('YOUR_JSON_URL_INFO', 
 function(data){

    $('#wrapper a').colorbox();

        //if the image has tags
        if(data.photo.tags.tag != '') { ...

我尝试了下面的方法,但没有成功---$('.colorbox').live('click',function(){$.fn.colorbox({href:$(this.attr('href'),open:true});return false;}