Ho scoperto che IE9 supporta addEventListener() e che l'errore consisteva nel fatto che passavo la funzione utilizzando getdimensionIE.call(this), ciò non passava la funzione come parametro ma la eseguiva direttamente.
codice:
var tempo
var fixed_image = function(source){
this.img = new Image();
this.img.src = source;
tempo = this;
this.img.addEventListener("load", function(){
tempo.width = tempo.img.width;
tempo.height = tempo.img.height;
var text = document.createTextNode("</br>setto valori - link: "+tempo2.img.src);
document.body.appendChild(text)
;}, false);
};
Ora funziona bene. Assegnare .src prima o dopo aver assegnato l'evento non cambia l'ordine di esecuzione degli eventi, forse perchè si tratta delle ultime versioni dei suddetti browsers o perchè si tratta di immagini piccole, ma poco male, in questo modo posso mantenere il codice estendibile senza problemi.
Grazie per l'aiuto
, javascript è veramente difficile da imparare per chi conosce solo linguaggi c-like e soprattutto per chi parte col pregiudizio che sia anch'esso c-like :P
A questo punto però mi sorge un altro dubbio: c'è un metodo per passare una funzione come handler e allo stesso tempo passargli qualche parametro?