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

Beitrag lesen

Hi,

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);

Rein gefühlsmäßig würde ich den Handler erst setzen, nachdem ich das Div ins Dokument eingefügt hätte. Wie ist 'id' definiert?

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

Wie ist onmouseout definiert?

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.

IE kennt kein 'currentTarget'. Aber warum 'if(!ev)'? Wenn 'ev' nicht definiert ist, solltest du der Frage erst mal nachgehen, warum das so ist. Hast du denn schon probiert, 'this' zu übergeben? Was passiert denn dabei?

Ansonsten solltest du vielleicht mal zusammenhängenden Code oder eine URL posten.

Grüße, Stefan