globe: Frage zu eval()

Beitrag lesen

n'abend,

ich verstehe jetzt erst, was du da eigentlich machen willst... toll, nicht?

Dabei will ich Teile wie
'onmouseover=tuediesunddas("a", this, "b")'
in
(element).onmouseover=function(){tuediesunddas("a", this, "b");};

und warum machst du dir das Leben dann so kompliziert?
Ich würde dir empfehlen dich "mal kurz" mit Organisation von Javascripten auseinanderzusetzen.

Wenn du dann über das Closures-Konzept gestolpert bist und dadurch anonyme Funktionen und ihre eigentliche Macht verstanden hast, erkennst du auch die Einfachheit des Folgenden:

element.onmouseover = function(){  
  tuediesunddas("a", this, "b");  
};

Wenn du dann noch weiter gehst und tuediesunddas() entsprechend ver-OOP-zifierst, kommst du zu dem schluss, dass this meist weggelassen werden kann, und "a" und "b" sich evtl. auch zu neuen Attributen des Elements eignen würden, etwa so:

element.alter = 55; /* irgendwelche werte */  
element.haarfarbe = 'lilablassblau'; /* irgendwelche werte */  
element.onclick = elemClickHandler; /* funktions-objekt direkt als handler zuweisen */  
  
/* handler, welcher dem objekt direkt zugewiesen werden muss */  
var elemClickHandler = function(){  
  alert( 'Haare: ' + this.haarfabre + ' Alter: ' + 55 );  
};

Schlussendlich ist das nur noch eine Frage deiner Architektur. Ich meine jedoch erkannt zu haben, dass du eval() hier für eine Sache nutzen möchtest, die der Nutzung eval()s gar nicht bedarf.

weiterhin schönen abend...

--
Freundlich wie man war, hat man mir Großbuchstaben geschenkt.
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|