Foros del Web » Programando para Internet » Javascript » Frameworks JS »

variable local dentro de evento

Estas en el tema de variable local dentro de evento en el foro de Frameworks JS en Foros del Web. Hola, Estoy haciendo un plugin de jquery y me he encontrado con un problemilla. Quiero declarar un evento dentro de la funcion each(). El problema ...
  #1 (permalink)  
Antiguo 22/08/2011, 08:17
 
Fecha de Ingreso: agosto-2011
Mensajes: 3
Antigüedad: 9 años, 1 mes
Puntos: 0
variable local dentro de evento

Hola,

Estoy haciendo un plugin de jquery y me he encontrado con un problemilla. Quiero declarar un evento dentro de la funcion each(). El problema que tengo es que el evento se llama siempre con el ultimo valor del each(ventana en este caso, por ejemplo). Ademas que tengo unas cuantas varibles mas declaradas que cambian con el each y que tengo que utilizar dentro tambien.
El plugin es un gestor de ventanas tipico, como el de windows por ejemplo.


Código Javascript:
Ver original
  1. ventanas=$(this);
  2.  
  3. //ejecutores son las capas que cargan a cada una de las ventanas
  4. ejecutores=$(settings.ejecutores);
  5.  
  6.  
  7.  
  8. var indice=0;
  9.  
  10. return ventanas.each(function() {
  11.  
  12.     ventana=$(this);
  13.     loquesea=$(this).find('.titulo')
  14.  
  15.     $(ejecutores[indice]).click(function(){
  16.        
  17.           //al principio puse esto, pero no me sirvio:
  18.           //ventanas[indice].addClass("loaded opened");
  19.  
  20.           //y esto tampoco
  21.               ventana.addClass("loaded opened");
  22.  
  23.           titulo.clone().appendTo('otracapa');
  24.              
  25.              
  26.     });
  27.  
  28.  
  29. });

a ver si me podeis dar una solucion, y que afecte lo menos posible al rendimiento del plugin.

gracias

Etiquetas: jquery
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:42.