Comunidad de diseño web y desarrollo en internet online

Duda sobre aplicar jquery a html generado desde php

Citar            
MensajeEscrito el 24 Mar 2013 10:01 pm
Espero puedan ayudarme a comprender y resolver lo siguiente:

Tengo un archivo html con el cual hago una llamada a un .php para generar una tabla y mostrarla en el html, esto lo hago sin problemas, incluso los estilos css que tengo en el html los toma y los aplica pero cuando quiero usar codigo jquery desde el html para usarlo en la tabla generada no me funciona, podrian decirme por que y como resolver esto porfavor?

La llamada la hago asi:

index.html

Código Javascript :

                $("#btn_busca_ciudad").click(function(){
                    var tt=$("#ciudades").attr("value");
                    $.get("./buscador.php",{tipo:tt,por:"ciudad"},mostrar);
                    $("#msg_buscando").show();
                });
                function mostrar(ms){
                    $("#resultado").append(ms);
                    $("#msg_buscando").hide();
                }


La tabla generada me crear algo como

genera.php

Código HTML :

<tr><td><a class="algo" href="">Link</a></td></tr>


En index.html tengo esto:

Código Javascript :

                $("a.algo").hover(function(){
                    var valor =("a.algo").attr("value");
                    alert(valor);
                });

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Mar 2013 12:36 pm
Se debe a que JQuery aplica el manejador de eventos a los elementos correspondientes cuando estos existen en el DOM. Y lo que haces con Ajax es agregar más elementos HTML después de que JQuery aplicó el manejador y por lo tanto esos elementos nuevos no tienen ningún manejador de evento.

La solución es que vuelvas a aplicar el manejador del evento "hover" no solo después de cargarse la página, sino también inmediatamente después de completar cada petición Ajax.

Por otro lado JQuery tiene el método ".on" que soluciona el problema: http://api.jquery.com/on/

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 25 Mar 2013 03:15 pm
Gracias, supuse algo parecido (en cuanto al por que no funciona), por otro lado me seria de gran utilidad el saber como volver a aplicar dicho evento despues de completar cada peticion y en cuanto a al metodo .on lo estoy estudiando para poderlo aplicar, muchas gracias !

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Abr 2013 06:27 pm
la peticion .on tiene varios parametros

.on("click", haceClic()); o por ejemplo .on("change", haceunSelect())

dependiendo que hagas puedes aplicar el .on ya sea si dando clic o marcando un checkbox, o un hover o algo !!

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox

 

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