Ver Mensaje Individual
  #7 (permalink)  
Antiguo 11/08/2012, 09:51
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
Geniaaal!! funciona muy bien, te hago una consulta solo por curiosidad que es lo que hace el bind(this) para que funcione el codigo? lo pregunto xq mas alla de que funcione me gustaria aprenderlo bien el concepto de lo que hace, mil gracias!!!
Pasa la referencia de la clase que estas usando con el keyboard this ... al hacer
esto tienes todas las propiedades y metodos de la clase disponible para ser utilizado en el scope de las funciones anomimas o tambien llamadas callbacks.

pero ojo una vez haces esto el objeto this ya no referencia el elemento al cual el evento clic estaba atachado o pegado..

tendras que usar el argumento en callback ejemplo:

Código Javascript:
Ver original
  1. function agregaeventoclick(){
  2.              
  3.               // dentro de la funcion agregaeventoclick , this esta disponible
  4.  
  5.              element.addEventListener('submit' , function(ev){
  6.  
  7.                              //aqui no tenes referenciado la clase con el this
  8.                              this.otherproperty;     // indefinido
  9.                            
  10.             }
  11.                  
  12.            }
  13.  
  14.             function agregaeventoclick(){
  15.              
  16.              element.addEventListener('submit' , function(ev){
  17.  
  18.                              /*   ya tenemo la referencia this de toda la clase
  19.                               *   metodo y propiedades disponibles
  20.                               */
  21.                              this.otherproperty;     //definido al fin
  22.  
  23.                             /*  por pasar this en este scope
  24.                              *  this ya no referencia a el elemento que fue cliqueado
  25.                              *  lo encontraras ahora en la variable del callback
  26.                              */
  27.                            console.log(ev);
  28.                            
  29.             }.bind(this)// pasamos la referencia this a el callback
  30.                  
  31.            }

Ya me enrolle bueno espero me entiendas..
__________________
Mis conocimientos son limitado, pero si te puedo ayudar lo are gustoso mi chat particular, visitalo gracias http://rendezvouschat.com