Foros del Web » Programando para Internet » Jquery »

problema con redundancia jquery

Estas en el tema de problema con redundancia jquery en el foro de Jquery en Foros del Web. Hola tengo una duda, estoy haciendo una pagina donde se van cargando div, es decir hay un menu y lo que hace es cargando html ...
  #1 (permalink)  
Antiguo 08/07/2012, 06:45
 
Fecha de Ingreso: noviembre-2007
Mensajes: 16
Antigüedad: 17 años
Puntos: 0
problema con redundancia jquery

Hola tengo una duda, estoy haciendo una pagina donde se van cargando div, es decir hay un menu y lo que hace es cargando html en un div, con lo qual " nunca nos movemos de la pagina principal"

lo que pasa que dentro de los div , hay botones , i claro la primera vez k lo kargo el boton funciona porque cargo los eventos, pero en uno de esos botones , lo que hago es editar el contenido del div, i al recargarlo el boton no funciona, pq deberia volver a cargarlo todo otra vez causando una redundancia

Código:
                
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
        <script type="text/javascript">
            $(document).ready(function()
            {
                var direc="";
                //define config object
aqui al hacer click cargamos contenido, $('#container').html(data);


Código:
      
          $("#navigation span").click(function (){

                    $.ajax({
                        url: 'client/ControlClient.php?opcio=1',
                        success: function(data) {
                               
                            $('#container').html(data);
este evento el ico.click es el que me da problemas pq aqui cargo el contenido i los eventos per mas abajo necesito volver a cargar el contenido con sus eventos pero claro es redundante, y no tengo ni idea de cmo se hace.
Código:
                            $('.ico').click(
                            function (){                                  
                                        direc = $(this).attr("href");

                                        var dataString="opcio="+2+"&campo=id&valor="+direc;
                                        $.ajax({  
                                            type: "get",  
                                            url: "client/ControlClient.php",  
                                            data: dataString,
                                            success: function(data) {
                                                $("#box_clients").html(data);
aqui esta el problema al hacer el submit necessito recargar toda la pagina , mi idea era hacerlo por ajax, pero claro tendria que volver a cargar esto, y asi infinitamente , creo que es redundante.


no se si me he explicado bien,cualquier cosa me lo decis gracias
Código:
                                                $("#update_client").click(function(){
                                                    $("#form_edit").submit(function (){
                                                        $.ajax({  
                                                            type: "get",  
                                                            url: "client/ControlClient.php",  
                                                            data: dataString,
                                                            success: function() {
                                                                alert ("Client Editat Correctament");
                                                               
                                                                
                                                            }
                                                        });  
                                                        return false;
                                                    });
                                                });
                                            }
                                        }); 
                                        return false;
 

                            });
                     }
                        
                    });
                    
                    
                });

                return false;
               
            }); 
        </script>
    </head>
    <body>
       
    </body>
</html>
  #2 (permalink)  
Antiguo 08/07/2012, 09:52
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: problema con redundancia jquery

Recuerda que los elementos agregados al DOM por AJAX no estaban presentes cuando asignaste los eventos, por lo tanto cuando se agregan en el futuro no tienen eventos, por lo que tienes que o asignárselos de nuevo o usas jQuery.live()
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 08/07/2012, 11:52
Avatar de ocesitaro  
Fecha de Ingreso: diciembre-2011
Ubicación: Carabayllo
Mensajes: 274
Antigüedad: 13 años
Puntos: 36
Respuesta: problema con redundancia jquery

lo que te dice maycol es correcto aparte se necesita otros requisitos como la version de jquery que estes usando,

existe live(),delegate(),on()
  #4 (permalink)  
Antiguo 08/07/2012, 17:10
 
Fecha de Ingreso: noviembre-2007
Mensajes: 16
Antigüedad: 17 años
Puntos: 0
Respuesta: problema con redundancia jquery

solucionado con el live

gracias !!
  #5 (permalink)  
Antiguo 09/07/2012, 04:49
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 10 meses
Puntos: 57
Información Respuesta: problema con redundancia jquery

Hola elnoidelcargol, que tal.

JQuery.live() trabaja lento entre otras desventajas.

Les dejo un artículo sobre el método live() de JQuery: Porque no debemos usar nunca JQuery Live.

En el mismo artículo mencionan mejores prácticas y alternativas.
  #6 (permalink)  
Antiguo 09/07/2012, 10:24
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 7 meses
Puntos: 343
Respuesta: problema con redundancia jquery

El método live esta deprecado actualmente, con lo cual es factible suponer que lo van a remover en las proximas versiones.
__________________
blog | @aijoona

Etiquetas: redundancia
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:16.