Kai345: Dynamisch erzeugtes Div mit OnX Function

Beitrag lesen

[latex]Mae  govannen![/latex]

Habs mal schon so Probiert:

...

myDiv.onClick = 'OnClickFunktion()';
...


> Leider ohne erfolg.  
  
Eine so kurze Zeile und so viele Fehler ;)  
Du weist dem onclick-Eventlistener (KLEIN!; Schreibweise unbedingt beachten!) eine Zeichenkette zu, mit der dieser natürlich nichts anzufangen weiß. Und selbst ohne die ' wäre es falsch, weil du dann dem onclick den Rückgabewert der Funktion zuweisen würdest.  
  
Stattdessen mußt du die Funktionsreferenz zuweisen, d.h. den Funktionsnamen ohne Klammern:  
  
`myDiv.onclick = OnClickFunktion;`{:.language-javascript}  
  
Wenn du weitergehende Funktionalität benötigst, wie z.B. Parameterübergabe, benötigst du etwas mehr Aufwand, du mußt dann den Funktionsarufruf [in eine andere Funktion einbinden](http://aktuell.de.selfhtml.org/artikel/javascript/organisation/#closures).  
  
myDiv.onclick = neueFunktion;  
  
~~~javascript
function neueFunktion() {  
  OnClickFunction(1,2,3,"Hallo");  
}

Wenn du diese Funktion nur ein Mal benötigst, kannst du die zusätzliche Funktion auch direkt anonyme Funktion übergeben:

myDiv.onclick =  function () {  
  OnClickFunction(1,2,3,"Hallo");  
}

usw. weitere Anwendungsbeispiele gibt es im verlinkten Artikel.

Cü,

Kai

--
Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?