Esto me funciona correctamente:
Código:
osea si hago lo que quiero por separado me asigna los enlaces perfectamente y me abre las ventanas con susarchivos pdf perfectamente pero si lo intento hacer con un bucle for que es lo suyo porque la longitud del array eManualSep va a ser variable me da errores, por ejemplo tal cual pongo el siguiente codigo me habilita todos los enlaces que abren el archivo del ultimo elemento del array.// en eManualSep esta una cadena de texto donde van por parejas el nombre del elemento1 y la ruta del archivo que hay que abrir.
//seria asi elemento1--rutaelemento1--elemento2--rutaelemento2...
//tras el split seria eManualSep[0]=elemento1, eManualSep[1]=rutaelemento1...
var eManualSep = eManual.split('--');
this.nuevo_evento(document.getElementById('manual_'+eManualSep[0]), 'click', function(){window.open(eManualSep[1],'ventanaDatos','width=450,height=500')});
this.nuevo_evento(document.getElementById('manual_'+eManualSep[2]), 'click', function(){window.open(eManualSep[3],'ventanaDatos','width=450,height=500')});
this.nuevo_evento(document.getElementById('manual_'+eManualSep[3]), 'click', function(){window.open(eManualSep[5],'ventanaDatos','width=450,height=500')});
En caso de que sean 3 elementos los del array, el enlace1 me abre el archivo3, el enlace2 me abre el archivo 3 y el enlace 3 me abre el 3 tb y no veo el porque.
Código:
Alguna idea porque lo veo tan simple y no me funciona que estoy ofuscado.//el array va opr parejas 0-1,2-3.... que son elemento1-rutaelemento1,elemento2-rutaelemento2..... de ahi que ponga la variable l
var eManualSep = eManual.split('--');
var l=0;
for (var r=0;r<=((eManualSep.length/2)-1);r++) {
var zp= l+1;
this.nuevo_evento(document.getElementById('manual_'+eManualSep[l]), 'click', function(){window.open(eManualSep[zp],'ventanaDatos','width=450,height=500')});
l=l+2;
}
Funcion que añade los eventos:
this.nuevo_evento= function(elemento, evento, funcion){
if (elemento.addEventListener) {
elemento.addEventListener(evento, funcion, false);
} else {
elemento.attachEvent("on"+evento, funcion);
}
}
Un salu2.

