Comunidad de diseño web y desarrollo en internet online

como manipular contenido cargado con ajax??

Citar            
MensajeEscrito el 03 Nov 2011 05:00 pm
Hola cree una pagina "A" que carga contenido de una pagina "B", en la etiqueta de stilos de la pagina "A", doy estilo a los divs cargados de la pagina "B", pero cuando quiero usar jquery para manipular el contenido de la pagina "B", o sorpresaa... nadaaa parece funcionar.

Aque se debe y como puedo solucionarlo??

Quiero que por ejemplo al dar click en algun div de la pagina "B", manipularlo, pero no me lo permite.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 04 Nov 2011 09:50 am

Por One

Claber

1488 de clabLevel

5 tutoriales

Genero:Masculino  

Programador Web

chrome
Citar            
MensajeEscrito el 04 Nov 2011 03:25 pm
No amigo, aun asi no queda.. estare haciendo algo mal?? ambas paginas estan en la misma carpeta, y si ejecuto la pagina "B" sola todo esta bien, pero si cargo la pagina "B" en la "A" con ajax, ya no funcionan los clicks, y eventos a los divs de la pagina "B"

Que puedo hacer.??

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 04 Nov 2011 04:36 pm
Ajax no ejecuta JavaScript.

No sé qué contiene la página "B" pero si tienes código JavaScript que debe inicializarse [tal como $(document).ready(... ], cuando la cargas mediante una petición Ajax, ese código no se ejecuta nunca.
Cuando termina la petición Ajax desde "A" debes volver a ejecutar el código de inicialización de "B", ese código debe estar cargado desde "A". O en otras palabras, todo el código JS que necesite "B" debe estar previamente en "A".

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 04 Nov 2011 07:49 pm
Mas o menos entiendo lo que dices, encontre esto, http://www.formatoweb.com.ar/ajax/ejecutar_codigo_javascript_css_cargado_ajax.php

Explica algo de lo que mencionas, aqui la cuestion es que ambas paginas, estan en el mismo directorio:

en si la pagina B es el puro texto nada de javascript ni css ni nada de eso texto literal.
Lo curioso es que en la pagina A, esta declarado el CSS, y la manipulacion de los div con jquery, y el CSS si lo agarra pero el jquery de javascript no.

De lo que viene , en el articulo que encontre, esta a medias, porque el maneja un xml, y en mi caso literal tomo una pagina y es la que cargo. Pero que mas puedo hacer.??

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 04 Nov 2011 07:56 pm
Lo que ago es con la instruccion $post de jquery, cargo la pagina "B", y en el valor de devolucion busco un marcador que puse en la pagina "B" y ago un substr hasta otro marcador, despues la cadena resultante la coloco con

$(".eldiv_que_quiero").html(cadena_resultante)

Con esto en teoria cargo la parte de la pagina que quiero, y en la pagina "A", tengo declarado loque debe pasar con cada div, y el estilo. en teoria deberia funcionarme, pero nada.

Nota no se que tanto afecte que tanto A como B comparten CSS, y Javascript(incluyendo el jquery).

Esto porque uso wordpress, y la carga la hago de el index.php que muestra los post actuales (pagina B) y pagina A es el page.php

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 04 Nov 2011 07:59 pm
Entendí a grandes rasgos lo que pretendes hacer. Pero aún así me gustaría ver el problema por mi mismo. ¿Algún sitio web que nos puedas mostrar para reproducir el problema?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 04 Nov 2011 08:16 pm
seria la que estoy haciendo

http://www.ocarestaurante.com/progreso/#noticias-carta

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 05 Nov 2011 02:41 pm
Bueno, no me refería a los que estás haciendo sino a un ejemplo del problema.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 07 Nov 2011 02:46 pm
Mmmmm bueno, no entiendo a que clase de ejemplo te refieres, no me abia encontrado con nada como esto antes, mi principal problema poder manipular con jquery los divs que cargo dinamicamente con $post, pero estos no me responden, es como si no existieran una ves cargados. aunque con el debug si se ven ahi

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 07 Nov 2011 04:29 pm
Con un ejemplo del problema me refiero a que escribas una nueva página con lo mínimo necesario para reproducir el problema y nada más que eso.

A veces sucede que tratando de aislar el problema tú solo te das cuenta de la solución.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 07 Nov 2011 05:28 pm
ok, para ser mas explicito, todos alguna ves hemos cargado contenido con ajax, casi siempre para desplegar un texto y ya, en un div alque previamente le damos estilo.
Mi problema es que el contenido que cargo con ajax, no es solo un texto, es todo un conjunto de divs, que deseo controlar, y no puedo, bien el ejemplo mas simple que puedo hacer es este:

Código HTML :

//codigo javascript.. agregar jquery en header y colocar esto en header
$(document).ready(function(){
$(".carga").click(function(){
   $('.tiempo').html('<div class="mono"><a href="solo">Este es mi mono</a></div>');
});
      $(".mono").click(function(){
         alert("si"+$(this).attr('href'));
      });
});

//codigo html
<div class="carga">DAme click para funcionar</div>
<div class="tiempo"></div>


Bueno resumi las declaraciones en el head y las etiquetas html, etc. El punto es este.. cuando das click al div carga "DAme click para funcionar", se crea contenido en tiempo
veran que al dar click en mono, que es un div creado dinamicamente dentro de tiempo, solo ejecutara su enlace y punto, no nos permitira ver su href, ni ejecutar nada de codigo para manipularle. pueden probar ponerle algun mouseout, etc.. que no sera reconocido en lo mas minimo. ese es mi problema hasta ahorita. como referencia si me pueden ayudar encontre algo de livequery apenas estoy tratando de entenderle.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 08 Nov 2011 01:04 am
Pues es evidente que esto no va a funcionar.
El código JavaScript que has puesto se ejecuta al momento de terminar de cargarse el DOM. En ese momento no existe un <div> con class "mono" y por lo tanto la asociación de eventos no se hará.
Es irrelevante que tengas la llamada al evento click antes de la asociación del clic en el <div class="mono" porque está fuera de ámbito. Creo que lo que has querido hacer es esto:

Código Javascript :

$(document).ready(function(){
   $(".carga").click(function(){
      $('.tiempo').html('<div class="mono"><a href="solo">Este es mi mono</a></div>');
      $(".mono").click(function(){
         alert("si"+$(this).attr('href'));
         return false;
      });
   });
});

Fíjate que he puesto la asociación del clic del <div class="mono"> inmediatamente después de haberlo creado y en el mismo evento del clic del <div class="carga">

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 08 Nov 2011 01:18 am
Proba con "live":

Código Javascript :

$(".mono").live('click', function(){
       alert("si"+$(this).attr('href'));
});


Saludos

Por GustavoV

Claber

136 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Nov 2011 04:48 pm
si tienes rason gustavo, livequery funciona perfectamente, solo hay un problemita que no puedo solucionar, y es que livequery, solo es conpatible con jquery 1.3.x, y nesecito usarlo con jquery 1.6.2, como puedo modificarle al plugin para que me permita usarlo con cualquier version de jquery que desee??

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 11 Nov 2011 01:57 pm
mmm para 1.6.2 podrías probar con delegate sino podes pasarte a la versión 1.7 y usar como te recomendaron al principio, on

Saludos

Por GustavoV

Claber

136 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 11 Nov 2011 02:41 pm
gracias, es perfecto al y funciona al 100% muchas gracias.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.