Capitulos de este wiki
  1. 1 Delegando eventos en JavaScript : Delegate. Create()

Delegando eventos en JavaScript : Delegate. Create() - Delegando eventos en JavaScript : Delegate. Create()

1 - Delegando eventos en JavaScript : Delegate. Create()

Tutorial creado por joangarnet. Extraido de: http://www.joangarnet.com/blog/?p=353
18 de Septiembre de 2006

Siguiendo el rollo del post anterior, en el que queríamos ejecutar un callback de un evento en el ámbito de una clase concreta, pues otra manera mucho más cómoda de hacerlo para un desarrollador ActionScript sería con una clase Delegate para JavaScript.
La adaptación sería esta:

PLAIN TEXT
JavaScript:
  1. /* Delegate.create
  2. * Ejecuta una función en el contexto del objeto original
  3. * @param obj(Object) el objeto dónde ejecutar la función [func]
  4. * @param func(Function) referencia a la función a ejecutar
  5. * @param params(Array) array de parámetros que enviamos a func
  6. */
  7. Delegate = {
  8.     create: function (obj, func, params)
  9.     {
  10.         var f = function()
  11.         {
  12.             return func.apply(obj, params);
  13.         };
  14.         return f;
  15.     }
  16. }

Y un ejemplo:

PLAIN TEXT
JavaScript:
  1. Delegate = {
  2.     create: function (obj, func, params)
  3.     {
  4.         var f = function()
  5.         {
  6.             return func.apply(obj, params);
  7.         };
  8.         return f;
  9.     }
  10. }
  11.  
  12. function clazz()
  13. {
  14.     this.msg = "¡Estoy en clazz!";
  15.     this.f();
  16. }
  17. clazz.prototype.f = function ()
  18. {
  19.     var img = new Image();
  20.     img.onload = Delegate.create(this, this.callback, ["param1", "param2"]);
  21.     img.src = "on.gif";
  22. }
  23. clazz.prototype.callback = function(p1, p2)
  24. {
  25.     alert( this.msg );
  26.     alert( p1 );
  27.     alert( p2 );
  28. }
  29. var c = new clazz();

Sé el primero en opinar


Tutoriales relacionados con 'Delegando eventos en JavaScript : Delegate. Create()'

Siguiendo el rollo del post anterior, en el que queríamos ejecutar un callback de un... Más »

Autor y licencia de 'Delegando eventos en JavaScript : Delegate. Create()'


Tutorial de joangarnet. Extraido de: http://www.joangarnet.com/blog/?p=353 CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.