Foros del Web » Programando para Internet » Jquery »

Problema básico con jquery

Estas en el tema de Problema básico con jquery en el foro de Jquery en Foros del Web. Buenas chicos, ya es la segunda vez que tengo este fallo, y podría multiplicarse a infinitos, porque es muy básico. Cuando cargo algún html/php en ...
  #1 (permalink)  
Antiguo 14/09/2013, 07:27
 
Fecha de Ingreso: febrero-2003
Mensajes: 39
Antigüedad: 21 años, 8 meses
Puntos: 1
Problema básico con jquery

Buenas chicos, ya es la segunda vez que tengo este fallo, y podría multiplicarse a infinitos, porque es muy básico.
Cuando cargo algún html/php en una capa a través de jquery (load,post,get, lo que sea), y ese algo tiene a su vez una llamada a jquery, no funciona.

Un ejemplo claro, reducido y resumido:

index.html
Código HTML:
Ver original
  1.     <script type='text/javascript' src='js/jquery-1.9.1.js'></script>
  2.     <script type='text/javascript' src='js/mi-jquery.js'></script>
  3. </head>
  4.     <div id='capa'>
  5.         <a href='#' id='boton'>Haz click</a>
  6.     </div>
  7. </body>
  8. </html>

mi-jquery.js
Código Javascript:
Ver original
  1. $(function(){
  2.    $('#boton').click(function(e){
  3.       $('#capa').load('prueba.html');
  4.       window.alert ("has hecho click");
  5.    });
  6. });

prueba.html
Código HTML:
Ver original
  1. <a href='#' id='boton'>Haz click otra vez</a>

El primer click funciona, el segundo del nuevo enlace ya no.

Saludos!

Edito: cargando otra vez los scripts de jquery y mi-jquery en prueba.html funciona, pero no se puede hacer sin cargarlos? Se supone que ya está en index.html, no?

Última edición por Narachamus; 14/09/2013 a las 07:30 Razón: Posible solución
  #2 (permalink)  
Antiguo 14/09/2013, 07:40
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: Problema básico con jquery

Hola.
No puedes usar la función load() para este caso, porque borrarías todo el innerHTML, osea el contenido del div. Debes crear uno aparte y no tendrías que duplicar, redirigir, o incluir nada más. En cuanto al importe de jquery solo lo puedes usar en el documento actual, puedes cargar más recursos pero solo podrás hacer scripting con la api API desde el documento padre.
Saludos!
  #3 (permalink)  
Antiguo 14/09/2013, 09:14
 
Fecha de Ingreso: febrero-2003
Mensajes: 39
Antigüedad: 21 años, 8 meses
Puntos: 1
Respuesta: Problema básico con jquery

¿Podrías explicarlo con ejemplos, por favor? Estoy un poco pez en jquery aún, te lo agradecería mucho
  #4 (permalink)  
Antiguo 14/09/2013, 09:32
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: Problema básico con jquery

Muy resumidamente te digo que es innecesario crear dos links que apunten a la misma función, y eso se puede evitar creando un div aparte y exclusivo donde recibes el texto obtenido de la llamda ajax (sin tener que borrar el anterior link). Saludos!
  #5 (permalink)  
Antiguo 15/09/2013, 11:45
 
Fecha de Ingreso: febrero-2003
Mensajes: 39
Antigüedad: 21 años, 8 meses
Puntos: 1
Respuesta: Problema básico con jquery

Sí, esa solución serviría para el caso del enlace, que puedes aislarlo en un div aparte. Pero ponte por ejemplo, como es mi caso, que se trata de una galería de imágenes.
Cada imagen se abre en un popup de jquery al hacer click sobre ellas, pero al recargar las imágenes (sea por un paginador de avanzar/retroceder, o por actualizar, borrar, o subir), ese popup ya no funciona. ¿Cómo se haría en este caso para no tener que repetir la carga de los js cada vez que se recargue la galería en el div?

Etiquetas: funcion, html, javascript, js, php
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 17:24.