jquery模式插件无法处理动态加载的图像
我正在使用api从flickr动态加载图像。但是,当我尝试使用colorbox、PrettyTo或其他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
$('.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;}