XaraX: Startmenü leidet an Kinderkrankheiten

Beitrag lesen

Hallo Struppi,

[td-object].onmouseover = list;

dann ist in der Funktion list *this* das td-object.

Damit arbeitet doch list() - list() muß auch genau mit td-object arbeiten!

das bedeutet, die Funktion kommt auf zwei verschiedenen Arten zu dem Objekt und  du kannst diese Funktionen so nicht für beide sachen verwenden. du müßtest den JS Code so umschreiben:

[td-object].onmouseover = function () { list( [td-object] ); };

und nicht this, da this in dem Falle das eltern element ist.

?Nanu?

Um der Verwirrung ein Ende zu bereiten, habe ich nun jeweis color(tr) und list(td) geschrieben. Es gilt dabei:
td=document.cerateElement('td')
tr=document.cerateElement('tr')

http://eddi.to-grip.de/v/index2.html
http://eddi.to-grip.de/v/zeilen.php?v2
http://eddi.to-grip.de/v/zeilen.php?v2=nummer

Keine Funktion tut nunmehr irgentetwas!

this ist doch die Referens auf Element[onmouseover] und funktioniert problemlos im Hauptmenü ('Privates','Chat','ich').

Es kann dort auch ein Fehler mit this vorliegen. Versuche mit alert() haben aber immer gestimmt.

was heißt gestimmt? du hast dir mit this.id z.b. die ID ausgeben lassen?

Ich vermute mal du willst eher sowas:

var obj = [Tabellenzelle];

obj.onmouseover = list; // ohne Klammern

function list()
{
   alert('ich bin die Zelle:' + this);
}

Da liegt doch aber der Hase im Peffer: list() arbeitet mit dem Parameter v der eben durch list(this) übergeben werden muß. Die Funktion hat keinerlei Möglichkeiten anders auf die Struktur des Menüs und der Untermenüs zuzugreifen.

Gruß aus Berlin!
eddi