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

ejecutar funcion prototype y aplicarsela a un objeto en particular

Estas en el tema de ejecutar funcion prototype y aplicarsela a un objeto en particular en el foro de Frameworks JS en Foros del Web. tengo una "clase" para generar tantos popups como quiera (al estilo facebook): Popup = function(iddiv, titulo, mensaje, botones, funcionaceptar){ ... } esa clase tiene una ...
  #1 (permalink)  
Antiguo 06/09/2011, 20:59
Avatar de luisebaq  
Fecha de Ingreso: septiembre-2011
Ubicación: Colombia
Mensajes: 45
Antigüedad: 12 años, 7 meses
Puntos: 1
ejecutar funcion prototype y aplicarsela a un objeto en particular

tengo una "clase" para generar tantos popups como quiera (al estilo facebook):

Popup = function(iddiv, titulo, mensaje, botones, funcionaceptar){
...
}

esa clase tiene una funcion protoype llamada "cerrar":

Popup.prototype.cerrar = function(){ ... }

cada popup generado por la clase crea su propio boton para cerrar la ventana del popup, el boton es un input type=button


la idea seria q la misma clase asigne un evento en el boton para cerrar el popup y que la asociacion se haga automaticamente apenas crea el boton, pero no logro que me funcione por que al pasarle "this.cerrar" al boton, se refiere al boton mismo no a la funcion cerrar de el objeto popup, (por lo q me sale error: el boton no tiene la funcion cerrar) parece que lo que necesito es el identificador del mismo popup dentro de la instancia (objeto popup), pero esto me parece engorroso, por que se veria mal pimero hacer una instancia de la clase para luego ejecutar una funcion que reciba el identificador de si misma, para luego usaro para cerrar la ventana mediante el boton..


ya veo q es un poco confuso y hasta marea tratar de entenderlo, pero como no se me ocurren mas ideas, lo posteo con la esperanza de una luz, por que he hecho todo lo que se, inlcuso converti la "clase" en un objeto directamente, para tener un solo objeto popup y funciono, el problema con eso es si cargo el .js que contiene el objeto en el head desde la carga de la pagina funciona, pero si lo intento cargar asincronicamente(me sirve solo asi) no funciona, no me reconoce el objeto aunque haya cargado el .js .. es un lio
  #2 (permalink)  
Antiguo 06/09/2011, 21:08
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: ejecutar funcion prototype y aplicarsela a un objeto en particular

buenas,
la última parte no la comprendi bien, el lio del *.js. de todos modos, algo que puedes hacer es tener la instancia actual en una variable local de tu clase. luego, cuando creas el botón, asignas el evento y la invocación la realizas a partir de dicha variable que contiene la instancia.

Código:
function Class(){
var that = this;
// creas el boton, asumiendo que button es el boton;
button.onclick = function(){that.cerrar();};
}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 06/09/2011, 21:36
Avatar de luisebaq  
Fecha de Ingreso: septiembre-2011
Ubicación: Colombia
Mensajes: 45
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: ejecutar funcion prototype y aplicarsela a un objeto en particular

mucisimas gracias, tu idea me sirvio en su totalidad hize eso mismo dentro de la funcion cerrar lo del var that = this; y funciono, gracias nuevamente, nunca se deja de aprender :)

Etiquetas: funcion, javascript, js, objeto, prototype, botones
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 05:48.