03/02/2014, 17:18
|
| | Fecha de Ingreso: julio-2010
Mensajes: 134
Antigüedad: 14 años, 5 meses Puntos: 0 | |
Respuesta: JS deja de funcionar despues de llamada AJAX. Casi solucionado, pero... Cita:
Iniciado por alexg88 Buenas,
Por lo que veo utilizas Mootools.
Lo 1º:
Código Javascript :
Ver originalfunction calen_dina(){ window.addEvent('domready', function(){ var myFxc = $$('.zc_month_dayblock'); myFxc.makeResizable({ modifiers: {x: false, y: 'height'}, limit: {y: [50, 350]} }); }); }
Es necesario el window.addEvent('domready', .... porque aquí le estás indicando que este código se ejecute cuando el DOM este cargado (supongo que sabes lo que es el DOM y sino míralo en Google). Si no pones el código dentro de este evento se ejecutaría antes de que los elementos del DOM estén cargados y por tanto no funcionarían.
2º: Para hacer que funcione con elementos cargados dinámicamente (AJAX) tienes que volver a llamar al código anterior, pero sin el addEvent. ¿Por qué, te preguntarás? En este caso ya no tienes que esperar a que se cargue el DOM (ya está cargado). Es importante en este caso, ejecutar la función sólo para los nuevos elementos (esto dependerá de como cargues el contenido).
Un ejemplo (suponiendo que los nuevos elementos han sido cargados dentro del divCargado):
Código Javascript :
Ver originalvar myFxc = $("divCargado").getElements(".zc_month_dayblock"); myFxc.makeResizable({ modifiers: {x: false, y: 'height'}, limit: {y: [50, 350]} });
Sobre los botones, lo mejor sería que tuviesen una clase común y añadir un evento click a todos ellos a la vez con el código correspondiente, pero eso depende de como tengas el código (habría que ver más código para conocer exactamente lo que se puede hacer)
Un saludo
Hola, gracias!!
Ya esta solucionado!! perfecto!
He tenido que investigar un poco mas, ya que no daba con el sitio desde donde tenia que llamar a la funcion nueva, pero ya esta todo bien!
Última edición por daicon; 03/02/2014 a las 17:38 |