Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/12/2011, 06:45
Avatar de IsaBelM
IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: el onload es solo para el body

mientras que addEventListener es un método que lo aceptan todos los navegador, incluido ie9. para versiones antiguas de ie, use asé ie8-, hay que usar attachEvent. lee este tutorial

el código que muestras tiene unos cuantos errores, aparte que no le estás sacando ningún rendimiento al uso de attachEvent
Cita:
function capturaEvento(elemento,nomevento,funcion) {
if (elemento.attachEvent)
{
var fct=function(){
funcion.call(elemento,window.event);
}
elemento.attachEvent('on'+nomevento,fct);
return true;
}
else
if (elemento.addEventListener)
{
elemento.addEventListener(nomevento,funcion,false) ;
return true;
}
else
return false;
}



function ini() {
var elems = document.getElementsByTagName('a');
for(var i = 0; i < elems.length; i++){
capturaEvento(elems[i], 'click', function() {funcion(this.href);});
}
}


function funcion(color) {
document.body.style.background = color.split('#')[1];
}


window.onload = function() {ini();};


<a href="#red">RED</a>
<a href="#pink">PINK</a>
<a href="#yellow">YELLOW</a>
todo está en la función ini() que se usa para obtener la colección de elementos (a) usando el método getElementsByTagName() y invocar a la función capturaEvento() con la que invocamos ambos métodos (addEventListener y attachEvent)
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}