En el siguiente código verá que estoy tratando de definir un controlador de eventos para image.onclick que toma parámetros adicionales, yo estaba declarando esos parámetros dentro del tiempo loop que espera el alcance definido por javascript de esta manera, pero no es así. Básicamente, todos los controladores de eventos aquí están obteniendo el último valor que doy a las variables id y section_id. ¿Alguna idea sobre cómo manejar una situación en la que quiero generar estos manejadores de forma dinámica?Javascript - Emitir con alcance y pasar parámetros al controlador de eventos creado dinámicamente
function handlePicturesResult(){
if (req.readyState == 4) { // Complete
if (req.status == 200) { // OK response
var el = document.getElementById('pictureHolder');
while(el.hasChildNodes()){
el.removeChild(el.lastChild);
}
var tempObject = JSON.parse(req.responseText);
var pictures = tempObject.images;
var i=0;
while(i<pictures.length){
var picIndex = i;
var image= new Image(120,80);
image.src = 'images/' + pictures[i].url;
image.width = 120;
image.height = 80;
var id = pictures[picIndex].id;
var section_id = pictures[picIndex].sectionId;
image.onclick = function(event){
deleteImage(event,id,section_id);
}
var txtNode = document.createTextNode(pictures[picIndex.valueOf()].id);
el.appendChild(image);
el.appendChild(txtNode);
i++;
}
} else {
alert("Problem: " + req.statusText);
}
}
}
gracias por toda su ayuda! – flips
lo siento, no sabía cómo hacerlo ahora :) – flips