Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Delegando eventos en JavaScript :: Delegate.create() - Delegando eventos en JavaScript :: Delegate.create()

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

 ----- 
Creative Commons Tutorial de joangarnet - 18 de Septiembre de 2006
Temas Relacionados: JavaScriptProgramación web
1. Delegando eventos en JavaScript :: Delegate.create()

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();
Autor y licencia de 'Delegando eventos en JavaScript :: Delegate.create() - Delegando eventos en JavaScript :: Delegate.create()'
joangarnet Extraído de: http://www.joangarnet.com/blog/?p=353

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
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.

Wikis relacionados con 'Delegando eventos en JavaScript :: Delegate.create() - Delegando eventos en JavaScript :: Delegate.create()'

¿Estás seguro de que deseas eliminar este capítulo?