DOM und addEventListener
-
Hallo,
hoffe mir kann einer bei meinem Problem helfen und vielleicht noch einen Link geben wo ich ein gutes eBook oder etwas in der Art zum Tehma DOM bekomme.
Hier das Problem:
Ich entwickle grade einen WYSIWYG Editor für das Web, klappt auch so weit ganz gut. Ich wüsste nur gerne ob man in der Funktion die man an den addEventListener übergibt auch direkt das Objekt ermitteln kann das in ausgelöst hat z.B. das iframe oder div in meinem Fall.
Momentan gebe ich das Objekt direkt in der übergebenen Funktion an. Ist nicht grad flexibel.Stelle mir das ungefär so vor:
wenn die an den addEventListener übergebene Funktion tuwas heist und mein div mydiv heißt sieht das bei mir momentan circa so aus
function tuwas(e){ mydiv.innerHTML = "Hallo Welt"; }
hätte gerne aber circa so was
function tuwas(e){ curobj = getobject() // getobject ist so was ;-) curobj.innerHTML = "Hallo Welt"; }
-
Die meisten, wenn nicht sogar alle Java EventListener haben eine funktion namens
"e.getSource()".Das liefert dann eine Referenz auf das Objekt zurück, das den Event geschmissen hat.
Vielleicht noch ein Typprüfung a la instanceof und deinem Cast von Component zu deiner Klassen steht nix mehr im Wege.
Wenn noch fragen offen sind, dann bitte fragen
-
Hallo KaraHead getSource() wirft einen Fehler,
sicher das diese Funktion in DOM richtig ist. Laut JS-Konsole gibt es diese Funktion nicht.
-
Tja da war meine Antwort etwas zu voreilig
verstehe ich DOM richtig mit XML also JDOM oder DOM4J???
Welchen EventListener/Event benutz du denn?zeig mal die Exception/Fehler.
-
Ja Richtig
box.contentWindow.addEventListener("keydown", tuwas, false);
das ist der Listner box verweist auf das div oder iframe
habe grad beim googeln das gefunden, dumm ist nur es geht nicht
myTarget ist nullfunction updateSource(e) { var myEvent = e || window.event; var myTarget = myEvent.target || myEvent.srcElement; alert(myTarget); source.value = box.contentWindow.document.body.innerHTML; }
-
Jetzt war ich voreilig!
Doch nicht null
nur wie komme ich auf die Eigenschaften von myTarget
Folgendes gibt echt null zurück
var myEvent = e || window.event; var myTarget = myEvent.target || myEvent.srcElement; alert(myTarget.id);
ICH HABS
bin dort schon auf body
alert(myTarget.innerHTML); zeigt mir das was ich will!!!!!
-
Jetzt wenn mir noch einer sagen kann wie ich einem Tag ne eigene Membervariable geben kann bin ich glücklich.