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 null

    function 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.


Anmelden zum Antworten