Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema para acceder a metodos de un objeto

Estas en el tema de Problema para acceder a metodos de un objeto en el foro de Frameworks JS en Foros del Web. Buenas tardes, tengo la siguiente estructura de datos de un objeto; @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original var Obj = {       ...
  #1 (permalink)  
Antiguo 10/09/2011, 15:09
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Pregunta Problema para acceder a metodos de un objeto

Buenas tardes,
tengo la siguiente estructura de datos de un objeto;

Código Javascript:
Ver original
  1. var Obj = {
  2.  
  3.     init : function() {
  4.        
  5.         $('.item').click(function(){
  6.             this.changeColor();
  7.         });
  8.     }
  9.    
  10.     changeColor : function() {
  11.         alert('cambio color');
  12.     }
  13. }

El problema viene en que "this" me toma el objeto JQuery y no el Objeto mio, por lo tanto nunca encuentra la funciona changeColor().

Como tengo que hacer para "subir un nivel" y acceder a las propiedades y métodos de mi objeto?

Gracias!
  #2 (permalink)  
Antiguo 10/09/2011, 15:33
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Problema para acceder a metodos de un objeto

Podrías referenciar mediante Obj. Pero lo más importante es que te falta una coma para separar los métodos.
También podrías hacer algo así:
Código PHP:
<script type="text/javascript">
var 
Otro={
    
exec:function(o,f){f.call(o);}    
}
var    
Obj={
    
algo:123,
    
init:function(){
        
Otro.exec(this,this.changeColor);
        
this.changeColor();
    },
    
changeColor:function(){
        
alert(this.algo);
    }
}
Obj.init();
</script> 

Última edición por Panino5001; 10/09/2011 a las 16:07

Etiquetas: acceder, javascript, jquery, metodos, objeto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:55.