Commander: addEventListener(xxx, funktion("wert"), xxx) ?????

Beitrag lesen

document.getElementById('id').onmouseover = function() { auf(this) };

function auf(obj) { obj.style.backgroundColor = 'red'; }

Ich habe das am Anfang ähnlich gemacht.

div = document.createElement("div");
 div.onmouseover = new Function('auf("'+id+'")');
 document.body.appendChild(div);

Das lief mit IE gut, aber bei NN lief das onmouseout nicht immer was unschöne Fehler machte.

Als ich es so machte:

function auf(ev){
if(!ev) ev = window.event;
div = ev.currentTarget;

div.style.backgroundColor = "#006699";
}

machEvent(id, "mouseover", auf);

lief es mit NN perfekt, mit IE aber nicht.
Als ich es so ergänzte:

function auf(ev){
if(!ev) ev = window.event;
div = ev.currentTarget;
if(!div) {
 div = ev.srcElement;
 while( div.id.indexOf("aufmachbar") != -1 && v.parentElement)
 div = div.parentElement;
 if(div.id.indexOf("aufmachbar") != -1) return;
}

div.style.backgroundColor = "#006699";
}
Lief es mit IE und mit NN, aber mit NN genau so wie am Anfang, so das onmouseout bei NN nicht immer läuft.