Prog. Orientada a Obj. (ámbitos)

Hola...


Tengo una "clase" en javascript:


function living(){
this=eval("document.getElementById('"+living.arguments[0]+"')");
this.onclick=fncOnClick;
function fncOnClick(){
alert("hola");
}
}


Creo el objeto llamando a esta clase:


p1=new living('person1'); // Hay una capa en la página cuyo id es "person1"


Este código no me funciona...cuando pincho en la capa no sale el "hola".


Sin embargo, si el código de la clase lo cambio a:


function living(){
this.obj=eval("document.getElementById('"+living.arguments[0]+"')");
this.obj.onclick=fncOnClick;
function fncOnClick(){
alert("hola");
}
}


Así sí me funciona y me aparece el "hola" cuando pincho en la capa.


Lo que he hecho es añadir "obj" detrás del "this".


- ¿No puedo asignar directamente el objeto (el objeto html que es la capa "person1") al this?
- ¿Necesito que detrás del this vaya un objeto (en este caso "obj") que ya sí pueda contener el objeto/capa "person1"?
- No entiendo por qué...¿me lo podría explicar alguien?


Muchas gracias

Añade tu respuesta

Haz clic para o