Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/12/2011, 17:46
Avatar de mayid
mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
objeto con sintaxis Json + asignacion de eventos con this

Tengo un problema al "instanciar" un objeto con la sintaxis Json. Resulta que no estoy pudiendo asignarle eventos usando this como variable. Es decir, esto no funciona:

this.tab.click( this.show );

El codigo un poco más completo es este:

Código Javascript:
Ver original
  1. sidebox = {
  2.     me : null,
  3.     closeBtn : null,
  4.     visible : false,
  5.     tab : null,
  6.     init : function(boxName){
  7.        
  8.         this.me = j('#'+boxName+'-sidebox');
  9.         this.closeBtn = j('#'+boxName+'-pane .sidebox-close');
  10.         this.tab = j('#'+boxName+'-tab');
  11.      
  12.         this.me.css("top", windowsHeight / 3 ); // vertical position
  13.      
  14.         this.tab.bind("click", this.show );  // show
  15.         this.closeBtn.bind("click", this.hide ); // hide
  16.     },
  17.     show : function(){
  18.     ....
  19.     },
  20.     hide : function(){
  21.      .....
  22.      }
  23. }

Código Javascript:
Ver original
  1. visionBox = new sidebox["init"]("vision");
  2.     missionBox = new sidebox["init"]("mission");

Como ven, tiene algo de jQuery. Pero más alla de eso, lo que está pasandome es que this.tab y this.closeBtn no se dan por enterados de que se les adjudica eventos. Por qué?

La parte que no funciona puntualmente es esta: this.show y this.hide. O sea, el selector si funciona, pero no la llamada al evento. Y yo creo que lo que esta pasando es que mis objetos no estas "heredando" los metodos: solo heredan las propiedades.

Última edición por mayid; 21/12/2011 a las 17:52