Kerse: Onclick per JavaScript eine Funktion mit Parametern zuweisen

Beitrag lesen

Hallo.

Ich moechte ein Objekt schreiben das bei seiner Initialisierung dynamisch in einem frei waehlbaren div-Bereich ein paar Bilder einfuegt und dabei allen Bildern die selbe Funktion als onlick-Event zuweist. Die Funktion soll bei jedem Bild aber mit unterschiedlichen Parametern uebergeben werden.

Mein Problem ist, dass ich zwar die Funktion zuweisen kann und auch ein Parameter uebergeben wird, leider ist es aber immer derselbe (der letzte) Parameter.

Folgend ein Beispielcode:

  
<html>  
  
<head>  
  
  <script type="text/javascript">  
  
    function MyObject(divBereich)  
      {  
      this.divBereich = divBereich;  
      this.DoSomething = DoSomething;  
        for (i = 0; i < 5; i++)  
          {  
            var Element = document.createElement("img");  
            Element.id = "bild" + i;  
            Element.src = "bild" + i + ".jpg";  
            Element.style.width = "50px";  
            Element.style.height = "50px";  
            Element.onclick = function(){DoSomething(Element.src);};  
            document.getElementById(this.divBereich).appendChild(Element);  
          }  
      }  
  
    function DoSomething(Variable)  
      {  
        alert(Variable);  
      }  
  
  </script>  
  
</head>  
  
<body>  
  
  <div id="Output"></div>  
  
  <script type="text/javascript">  
    var Object1 = new MyObject("Output");  
  </script>  
  
</body>  
  
</html>  

Das Script sollte dafuer sorgen das bei einem Klick auf eines der Bilder eine Alert-Box erscheint die den Pfad des jeweiligen Bildes ausgibt.
Leider erscheint beim Klick auf jedes der Bilder aber immer der Pfad des letzten Bildes (bild4.jpg).

Was mache ich falsch?