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