Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/08/2012, 21:18
Avatar de utan
utan
 
Fecha de Ingreso: agosto-2012
Mensajes: 126
Antigüedad: 12 años, 4 meses
Puntos: 17
Respuesta: clases javascript

Cita:
Iniciado por djaevi Ver Mensaje
hola a todos les paso a comentar mi duda.

Estoy practicando de instanciar objetos en javascript simulando una clase digamos el asunto es el siguiente estoy intentando recuperar una propiedad de mi clase mediante un link generado por esta misma clase seria algo asi.

Código Javascript:
Ver original
  1. function clase() {
  2. this.nombre = "clase javascript";
  3. this.id = "20";
  4. this.dibujar = function() {
  5.         $("#divContenedor").append($("<a>Ver Nombre</a>").bind("click",function() {
  6.                 // COMO LLAMO ESTE PARAMETRO ??
  7.             }))
  8.     }
  9. }
  10.  
  11. $(document).ready(function() {
  12.     clase.dibujar();   
  13.     })

en donde puse como llamo este parametro je he probado colocando this.nombre pero claro al estar dentro de la funcion de un elemento tag a hace referencia a si mismo y no a la clase, existe alguna forma de llamar los atributos de la clase como lo estoy intentando? o tengo que morir en llamarlo desde afuera usando clase.nombre ? desde ya muchas gracias!
Hola, no se de jquery pero necesitas el bind() keyboard si esta disponible para pasar el objeto this en el metodo dibujar..
Código Javascript:
Ver original
  1. function clase() {
  2. this.nombre = "clase javascript";
  3. this.id = "20";
  4. this.dibujar = function() {
  5.         $("#divContenedor").append($("<a>Ver Nombre</a>").bind("click",function() {
  6.                 // COMO LLAMO ESTE PARAMETRO ??
  7.                                // ya podes llamar tu propiedad
  8.                                 console.log(this.nombre);
  9.  
  10.             }.bind(this)))
  11.     }
  12. }
  13.  
  14. $(document).ready(function() {
  15.     clase.dibujar();   
  16.     })

Asi lo tienes adentro del evento click en la funcion anonima esta de callback

eso te deveria de servir.

Si no esta disponible, inspeciona con console.log() de firebug si clase lo tienes defindo en el scope de tu callback..
__________________
Mis conocimientos son limitado, pero si te puedo ayudar lo are gustoso mi chat particular, visitalo gracias http://rendezvouschat.com

Última edición por utan; 10/08/2012 a las 21:24