Foros del Web » Programando para Internet » Jquery »

ejecutar funcion en html cargado dinamicamente

Estas en el tema de ejecutar funcion en html cargado dinamicamente en el foro de Jquery en Foros del Web. Hola: Tengo el siguiente problema: Tengo una web que carga htmls en un div contenedor, la mayoría con botones que en lazan otros html mediante ...
  #1 (permalink)  
Antiguo 17/03/2016, 18:36
Avatar de lvfp  
Fecha de Ingreso: septiembre-2005
Ubicación: España
Mensajes: 337
Antigüedad: 19 años, 2 meses
Puntos: 4
ejecutar funcion en html cargado dinamicamente

Hola:

Tengo el siguiente problema:

Tengo una web que carga htmls en un div contenedor, la mayoría con botones que en lazan otros html mediante un evento click en el mismo div contenedor.

Los eventos funcionan bien, pero si cargo un html que consta de un body en el que se ejecuta una función que se encarga de crear el contenido, no funciona.

He probado con un callback pero lo que hace es que después de cargar el html en vez de generar el contenido en el div contenedor lo que hace es sustituir toda la página por el contenido generado.

No sé si me he explicado bien.

Gracias.
  #2 (permalink)  
Antiguo 17/03/2016, 18:59
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: ejecutar funcion en html cargado dinamicamente

Tienes un div, ese div esta en un body, no??

Luego cargas un html que tiene un body??

Bueno eso es lo que yo entiendo, creo que por obvias razones (2 body) muere.
  #3 (permalink)  
Antiguo 18/03/2016, 03:35
Avatar de lvfp  
Fecha de Ingreso: septiembre-2005
Ubicación: España
Mensajes: 337
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: ejecutar funcion en html cargado dinamicamente

Hola, gracias.

No, no es eso, mi archivo html sólo tiene el div contenedor, lo necesito así por cuestiones de navegación (es una app híbrida).

s8.html:
Código HTML:
Ver original
  1. <div class="hoy">
  2.  
  3. </div>

Hay una función llamada "cargarsec" que se encarga de cargar con ajax los distintos html y controlar la navegación

Tengo una función choy():
Código Javascript:
Ver original
  1. function choy(){
  2.  
  3. for (i=0;i<xmll.length;i++){
  4.     <!--si es el mismo mes-->
  5.         if (matr[i][3]==ahmes){
  6.         <!--si es el mismo día-->
  7.             if (matr[i][4]==ahdia & matr[i][5]>5 | matr[i][4]==ahdia+1 & matr[i][5]<5){
  8.                 document.write("<div class='" + matr[i][0] + "'></div>");
  9.                 document.write("<ul>");
  10.                 document.write("<li><span  class='resaltado2'>Evento:</span> " + matr[i][1] + "</li>");
  11.                 document.write("<li><span  class='resaltado2'>Lugar:</span> " + matr[i][2] + "</li>");   
  12.                 document.write("<li><span  class='resaltado2'>Hora:</span> " + matr[i][5] + ":" + matr[i][6] + "</li>");
  13.             document.write("</ul>");
  14.             }
  15.         }
  16.     }
  17. }

Pinta la página desde los datos de un array

La siguiente función se encargaría de hacer el resto, cargar la página y después cambiar el contenido del div "hoy" por lo que genera la función anterior.

Código Javascript:
Ver original
  1. function hoy(){
  2.     cargarsec('s8', function(){
  3.         $("#hoy").html(cargarhoy());
  4. }
  5. );}

Pero no cambia el div, sino que cambia toda la página y solo pone los datos generados.
  #4 (permalink)  
Antiguo 18/03/2016, 10:26
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: ejecutar funcion en html cargado dinamicamente

A ver si esto lo resuelve http://www.disegnocentell.com.ar/notas2.php?id=176
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 18/03/2016, 10:31
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: ejecutar funcion en html cargado dinamicamente

Pues ahi veo dos problemas en tu código:
1. Un atributo class da estilo, no es un identificador. Por lo tanto esto: $("#hoy").html(cargarhoy()); jamas va a encontrar esto <div class="hoy">. O cambias el gato por punto para que busque una clase o cambias el class del div por id.

2. El segundo problema que veo es que no llamas a tu funcón adecuada, tiene otro nombre $("#hoy")[/B].html(cargarhoy()); nunca va invocar a function choy(){ ... Bueno, eso lo que veo en un vistaso rapido de como de un minuto.
Saludos
  #6 (permalink)  
Antiguo 18/03/2016, 18:02
Avatar de lvfp  
Fecha de Ingreso: septiembre-2005
Ubicación: España
Mensajes: 337
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: ejecutar funcion en html cargado dinamicamente

Sí, tienes razón, hice tantos cambios que puse mal el código, pero poniendo cada cosa en su sitio no funciona.
  #7 (permalink)  
Antiguo 18/03/2016, 18:04
Avatar de lvfp  
Fecha de Ingreso: septiembre-2005
Ubicación: España
Mensajes: 337
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: ejecutar funcion en html cargado dinamicamente

Gracias IsaBelm, lo miro ;)

Etiquetas: cargado, dinamicamente, funcion, html, javascript
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 20:02.