Código:
Funciona en Firefox pero en IE me da error. He comprobado que lo que ocurre es que no reconoce el parámetro this.id, pero porque y cuál puede ser la solución para que funcione en IE? function añadirEvento(objeto, tipo_evento, funcion, capturar)
{
if (objeto)
{
if (objeto.attachEvent)
{
var r= objeto.attachEvent("on"+tipo_evento, funcion);
return r;
}
else if (objeto.addEventListener)
{
objeto.addEventListener(tipo_evento, funcion, capturar);
return true;
}
else {return false;}
}
}
function seleccionar(id)
{
extension= document.getElementById(id).src.indexOf('png');
archivo= document.getElementById(id).src.substring(0,extension-1); //Error en IE: Se requiere un objeto
document.getElementById(id).src= archivo+'2.png';
}
function deseleccionar(id)
{
extension= document.getElementById(id).src.indexOf('png');
archivo= document.getElementById(id).src.substring(0,extension-2); //Error en IE: Se requiere un objeto
document.getElementById(id).src= archivo+'.png';
}
var imgid= new Array('negrita', 'cursiva', 'subrayado', 'tachado', 'izquierda', 'justificado', 'olist', 'ulist', 'color', 'emoticonos');
for (i=0; i<imgid.length; i++)
{
añadirEvento(document.getElementById(imgid[i]), 'mouseover', function(){seleccionar(this.id);});
añadirEvento(document.getElementById(imgid[i]), 'mouseout', function(){deseleccionar(this.id);});
}

