Ver Mensaje Individual
  #5 (permalink)  
Antiguo 01/05/2011, 07:37
Avatar de _cronos2
_cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Problema con scope

Bueno lo primero muchas gracias por contestar. Antes de ponerme a modificar Gradiente.js estoy tratando de hacer mi propio manejador de eventos como me indicaste. Aquí tengo un ejemplo (bastante inútil, pero no se me ocurría otra cosa que hacer )
La pregunta es: ¿Cómo puedo mejorarlo? Esque se me queda muy corto como para hacerlo un plugin aparte, pero demasiado largo para ponerlo en JSPlus.js . Además lo veo bastante manco para algunas cosas.
Y por último, ¿te importaría explicarme la diferencia entre esto:
Código Javascript:
Ver original
  1. // Eventos
  2.  
  3. JSPlus.metodos((function(){
  4.  var eventos = ['blur', 'change', 'click', 'dblClick', 'focus', 'keyDown', 'keyPress', 'keyUp', 'reset', 'select', 'submit'], obj = {}, act;
  5.  for(var i = 0; act = eventos[i]; i++){
  6.   obj[act] = function(closure){
  7.    return function(toDo){
  8.     if(!toDo){
  9.      this[closure]();
  10.      return this;
  11.     };
  12.     return this.evento(closure, toDo);
  13.    }
  14.   }(act);
  15.  }
  16.  return obj;
  17. })());

y esto?

Código Javascript:
Ver original
  1. obj.fn = function(I, F){
  2.      return function(p){
  3.       console.log(I,F);
  4.       var cAct = padre.separarColor(I); // descomponer act [R,G,B]
  5.       var difer = padre.calcularDiferencia(I, F); // fin - ini
  6.       var objC = padre.crearObjetoColor(
  7.         parseInt(cAct.R) + difer.R * p,
  8.         parseInt(cAct.G) + difer.G * p,
  9.         parseInt(cAct.B) + difer.B * p
  10.       );
  11.       JSPlus.escribir(padre.RGBValido(objC))
  12.       este.css(obj.prop, padre.RGBValido(objC));
  13.      };
  14.     }(act, sig);

Quiero decir, los dos siguen la estructura
Cita:
function(a)
return function(b){
// ...
};
}(c);
pero sólo funciona la primera. Puede que influya que una es de @ZK () y la otra mía
Saludos y gracias otra vez :D
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red