Hallo,
wieso denkst du dir auch so eine komplizierte Objektstruktur aus? Du erweiterst den Image-Prototyp, indem du ihm ein Image anhängst... äh, diese Rekursion ist zu hoch für mein kleines Gehirn:
function O () {}
O.prototype.e = new O;
var o = new O;
alert(o.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.....);
Das heißt, ich würde keinesfalls Image als Konstruktor erweitern, sondern einen eigenen bauen, z.B.:
function VorschauBild (elem, src) {
var self = this;
this.image = elem;
this.preloadImage = new Image;
this.image.src = "loading.png";
this.preloadImage.src = src;
this.preloadImage.onload = function () {
self.image.src = this.src;
};
}
new VorschauBild($("bild"), "bild.png");
(Jetzt mal vereinfacht.)
Mathias