Javascript object kérdés

Sziasztok!

Az lenne a kérdésem, hogy vajon a következő kódból miért nem megy rendesen az alert(myId); sor?

function MyObject(){
this.myId = 'my_id';

this.render = function(){
document.write('
valami

');
document.getElementById(this.myId).attachEvent("onmousedown", this.eventHandler);
}

this.eventHandler = function(event){
alert(this.myId);
}
}

var uff = new MyObject();
uff.render();

Azt gondolnám, hogyha futtatom, és a "valami" szövegre kattintok, akkor kiírja, hogy my_id, de ehelyett undefined-et kapok...

Tud valaki segíteni? Miért nem jó ez így?

előre is köszi,
Khayll

Hozzászólások

Azert, mert a dokumentum betoltodese utani document.write() felulirja a dokumentumot, elvesz minden benne, meg a definialt js fuggvenyek is.

Veletlenul nem tetted fel ezt a kerdest par napja a prog.hu-n is..?

Szerk: most latom, hogy bonyolultabb. Tedd fel a kerdest a prog.hu-n!
_________________________________________________________________________
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"

1. a render metódusban: document.getElementById(this.myId).onmousedown = this.eventHandler;

2. az eventHandlerben: this.eventHandler = function(event){ alert(this.getAttribute('id')); }

Így megy IE és FF alatt is, és azt is írja ki, amit szeretnél.

(ez csak példa, mielőtt valaki megírná, hogy eventhandlert nem így írunk :-) )