Código:
function cBloque(i,j) { this.name = "fila[" + i + "," + j + "]"; this.crear = function(){ this.bloque = document.createElement("div"); this.bloque.className = "bloque_1"; document.body.appendChild(this.bloque); } this.addEvent = function(){ // Agregando Evento if(this.bloque.addEventListener){ // Mozilla this.bloque.addEventListener('click',function(event){ alert(this.name); <----- Aquí },false); } // Iexplorer. else if ( this.bloque.attachEvent){ this.bloque.attachEvent('onclick',function(event){ alert("hola"); }); } } } // Funcion para crear el tablero function tablero(){ for(var i=0;i<=fila.length-1;i++){ for(var j=0;j<=fila[i].length - 1;j++){ var bloque = new cBloque(i,j); alert(bloque.name); bloque.crear(); bloque.addEvent(); } } }
Si a la funcion addEvent le agrego un parametro "nombre" y en la llamada pongo bloque.addEvent(bloque.name), sí funciona.
Quisiera saber porque el primer script no .