Michael: document.createAttribute("onmouseover")

Hallo,
ich möchte mit der Funktion document.createAttribute()
ein "onmouseover" Attribut für <td> erstellen.
aber leider funktioniert das nicht..
Quellcode:
   var tTD1Att1 = document.createAttribute("onmouseover");
   tTD1Att1.nodeValue = "mover2(this)";
   tTD1.setAttributeNode(tTD1Att1);

Gibt es eine andere Möglichkeit?
Ich habe es auch schon mit
document.all["TD1ID"].addEventListener("mouseover", mover2, true);
versucht, aber leider auch ohne Erfolg...

  1. ich möchte mit der Funktion document.createAttribute()
    ein "onmouseover" Attribut für <td> erstellen.

    Die brauchst du nicht, da das Attribut bereits existiert.

    this.onmouseover = mover2;

    reicht aus, da this in der Funktion entsprechend dem this ist das du den Event zuweisen willst.

    Struppi.

    1. Also erstmal Danke für die schnelle Antwort!!

      Ich erstelle die Tabelle und alle Knoten dynamisch mit

      var tTR = document.all["UnderMenu"].insertRow(0);
         var tTD1 = document.createElement("td");
         var tTD1Att1 = document.createAttribute("onmouseover");
         tTD1Att1.nodeValue = "mover2(this)";
         tTD1.setAttributeNode(tTD1Att1);

      wie muss ich da vorgehen um das onmouseover Event anzusprechen?
      wenn ich mit this arbeite bezieht sich doch das this auf das javascript, nicht aber auf den Knoten <td> oder?

      1. Also erstmal Danke für die schnelle Antwort!!

        Ich erstelle die Tabelle und alle Knoten dynamisch mit

        var tTR = document.all["UnderMenu"].insertRow(0);
           var tTD1 = document.createElement("td");

        und dieses Element hat das Attribut onmouseover bereits.

        var tTD1Att1 = document.createAttribute("onmouseover");

        Deshalb ist dieser Aufruf unnötig.

        tTD1Att1.nodeValue = "mover2(this)";
           tTD1.setAttributeNode(tTD1Att1);

        wie muss ich da vorgehen um das onmouseover Event anzusprechen?
        wenn ich mit this arbeite bezieht sich doch das this auf das javascript, nicht aber auf den Knoten <td> oder?

        doch this bezieht sich auf den Kontext iin dem Falle das td Element. Daher reicht immer noch:

        var tTR = document.getElementById("UnderMenu").insertRow(0);
        var tTD1 = document.createElement("td");
        tTD1.onmouseover = mover2;

        in der Funktion mover2 ist this = tD1

        Du solltest deine Skripte im Firefox entwickeln der bietet wesentlich bessere Unterstüzung dabei an. document.all ist aber Microsoft Syntax.

        Struppi.

        1. Vielen Dank!

          Das funktioniert super!!

          ich benutze einen Editor der leider den IE als vorbild nimmt und ich teste Skripte erst in dem Editor und schreibe sie später um, um die kompatibilität zu den gängigsten browsern herzustellen..

          Trotzdem Danke für den Hinweis!!

      2. hi,

        wie muss ich da vorgehen um das onmouseover Event anzusprechen?

        ersetze

        var tTD1Att1 = document.createAttribute("onmouseover");
           tTD1Att1.nodeValue = "mover2(this)";
           tTD1.setAttributeNode(tTD1Att1);

        durch
        tTD1.onmouseover = mover2;

        wenn ich mit this arbeite bezieht sich doch das this auf das javascript, nicht aber auf den Knoten <td> oder?

        Wenn du das so wie Beschrieben machst, bezieht sich this innerhalb der Funktion mover2 auf das Element, auf dem der Event ausgelöst wurde.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }