javascript objektum változók eventhadlerből
Sziasztok!
Az lenne a kérdésem, hogy vajon a következő kódból miért nem megy rendesen az alert(myId); sor?
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, vagy hogy kéne csinálni?
előre is köszi,
Khayll
■ 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(){
var div = document.createElement('div');
div.id = this.myId;
div.innerHTML = 'valami';
document.body.appendChild(div);
document.getElementById(this.myId).attachEvent("onmousedown", this.eventHandler);
}
this.eventHandler = function(event){
alert(this.myId);
}
}
var uff = new MyObject();
uff.render();
this.myId = 'my_id';
this.render = function(){
var div = document.createElement('div');
div.id = this.myId;
div.innerHTML = 'valami';
document.body.appendChild(div);
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, vagy hogy kéne csinálni?
előre is köszi,
Khayll
this != this
Bővebben:
- http://weblabor.hu/cikkek/oojsafelszinfolott
- http://weblabor.hu/cikkek/oojsafelszinalatt
de id-je van... és mégse...
üdv,
Khayll