IE + setAttribute mit dynamischen Parametern?

  • Hallo,
    ich hänge mal wieder an einem IE-typischen Bug.
    Wenn man im IE per JS DOM-Objekte erzeugt so kann man diesen Attribute verpassen. Dies geschieht im standard-konformen Weg so:

    Code
    ...
      var newDIV = document.createElement("DIV");
      newDIV.setAttribute('onclick', 'dosomething("now");');
    ...


    Nun hat der IE Fehler in diesen Routinen und ignoriert das .setAttribute(), wenn das Attribut wie hier ein Event darstellt. Also .setAttribute('width', "100px"); das würde gehen, aber eben keine Events.

    Als alternativen Weg habe ich auf dieser Seite diese Variante gefunden:

    Code
    ...
      function dosomethingIEnow(e) {
        dosomething("now");
      }
    ...
      var newDIV = document.createElement("DIV");
      newDIV.onclick = dosomethingIEnow;
    ...


    So weit - so umständlich.

    In meinem Fall bräuchte ich jedoch solch eine dynamische Definition.

    Code
    ...
      var newImg = document.createElement("Img");
      newImg.setAttribute('onclick', "changePreviewImage("+ idx + ");");
    ...


    Wobei idx eine Schleifenvariable darstellt.

    Wie mach ich das also für den IE, damit er die korrekte Event-Funktion inklusive der korrekten idx erhält?

    Torty

    "Carpe Diem" powered by positiv Feelings

  • Nein klapt nicht. Die Methode event ist ihm nicht bekannt.
    Hier mal meine Testdatei:

    Torty

    "Carpe Diem" powered by positiv Feelings