Ademas, una vez cerrada la ventana no vuelve a suceder el evento, es como que si no se le hubiese asignado ese evento a las imagenes.
Código Javascript:
Ver original
//el parametro datos es el nombre del archivo .json, en este caso "datosLibros.json" function cargarLibros(datos){ loadJSON(cargarLibros,datos); var libros=JSON.parse(datos); var ref=document.getElementById("librosInternacionales"); var s=""; for(var i=0;i<libros.length;i++){ var div=document.createElement("div"); div.className="divImg"; div.id="foto"+i; ref.appendChild(div); var imagen=document.createElement("img"); imagen.className="fotos"; imagen.src="imagenes/libro"+i+".jpg"; imagen.alt="imagen_libro"; imagen.onclick=clickImg(libros,""+i); //En esta linea es donde salta al metodo clickImg sin haber dado click div.appendChild(imagen); } } //----------------Este es el metodo que se ejecuta al dar click en una imagen, el que quiero agregar como atributo on click a cada imagen---------------- function clickImg(datos,numFoto){ var libros=datos; var a=document.getElementById("ventana-flotante"); a.style.visibility='visible'; var v=document.getElementById("contenedor"); var obj=new Object(); s=obj.dato1=libros[numFoto].titulo; v.innerHTML=s; } function loadJSON(callback, jsonFile) { var xobj = new XMLHttpRequest(); xobj.overrideMimeType("application/json"); xobj.open('GET', jsonFile, true); xobj.onreadystatechange = function () { if (xobj.readyState === 4 && xobj.status === 200) { callback(xobj.responseText); } }; xobj.send(null); }