Axel Richter: 2 Probleme mit DHTML

Beitrag lesen

Hallo,

Also erst mal vielen Dank, das Erste funktioniert nun :)
Das 2 Problem besteht weiterhin :|

Hm, um da helfen zu können, müsste man sich das mal irgendwo ansehen können. Kanst Du das irgendwo online zur Verfügung stellen?

und ein weiteres ist aufgetaucht :(

Wenn ich nichts an meldung weitergebe, funktionierts aber so wie es sollte!

function meldung(link) {
         alert("Gedrückt: " +link);
}//Meldung

getElem("id", array[i], "null").addEventListener("click", meldung(getElem("id", array[i], "null").getAttribute('id')), true);

Nein ;-)) Der zweite Parameter von addEventlistener() erwartet eben _keine_ einfache JavaScript-Funktion, sondern einen EventHandler. Das ist einfach ein Funktions_name_ und die Funkion bekommt das Event als _einzigen_ Parameter übergeben.
http://de.selfhtml.org/dhtml/modelle/dom.htm#event_handling

http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-registration

http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-EventListener

Kann ich anstatt dem "inneren" getElem auch sowas wie this oder self schreiben?

Nein, aber das Event hat die Eigenschaft Event.target. Das ist das Element, welches das erste Ziel des Events war.

http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-Event

function meldung(ev) {
         alert("Gedrückt: " + ev.target.id);
}//Meldung

getElem("id", array[i], "null").addEventListener("click", meldung, true);

Soweit die DOM-Methode, die der IE nicht beherrscht.

Ich würde es aber einfach so:

function meldung(link) {
         alert("Gedrückt: " +link.id);
}//Meldung

getElem("id", array[i], "null").onclick = function() {meldung(this);};
machen.
Das ist die Zuweisung einer anonymous-Funktion an die Eigenschaft onclick des Elements, welche dann wiederum die Funktion meldung(this) aufruft.

viele Grüße

Axel