es necesario apuntar a los resultados de la llamada AJAX antes de insertarlos en el dom.
Por lo tanto, debe utilizar el método de devolución de llamada proporcionado por jQuery por este motivo.
$('#load').click(function(){
// inside the handler that calls the ajax
//you ajax call here
$.get('the_url_to_fetch',function(data){
// create an in-memory DOM element, and insert the ajax results
var $live = $('<div>').html(data);
// apply a load method to the images in the ajax results
$('img',$live).load(function(){
// what to do for each image that is loaded
});
// add the ajax results in the DOM
$('selector_where_to_put_the_response').html($live.children());
});
});
ejemplo en http://www.jsfiddle.net/gaby/Sj7y2/
Si hay varias imágenes en la respuesta Ajax y desea ser notificado cuando todo de ellos se cargan a continuación, utilizar esta versión ligeramente modificada
$('#load').click(function(){
// inside the handler that calls the ajax
//you ajax call here
$.get('the_url_to_fetch',function(data){
// create an in-memory DOM element, and insert the ajax results
var $live = $('<div>').html(data);
// count the number of images
var imgCount = $live.find('img').length;
// apply a load method to the images in the ajax results
$('img',$live).load(function(){
// what to do for each image that is loaded
imgCount--;
if (imgCount==0)
{
// the code in here is called when all images have loaded.
}
});
// add the ajax results in the DOM
$('selector_where_to_put_the_response').html($live.children());
});
});
ejemplo en http://www.jsfiddle.net/gaby/Sj7y2/1/
Si elimina los comentarios y las líneas vacías, que no es mucho código :) por lo que no se dejan intimidar ..
¡Hola, buena pregunta! –
Pl publicar alguna muestra amt del código –