elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  funcion on() de jquery no me funciona
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: funcion on() de jquery no me funciona  (Leído 4,480 veces)
NataliaV

Desconectado Desconectado

Mensajes: 13


Ver Perfil
funcion on() de jquery no me funciona
« en: 12 Junio 2012, 12:16 pm »

hola.. buenas.. tengo un problema con la función on() de jquery..
quiero cargar paginas en un div determinado, y que estas páginas funcionen correctamente. Con esta función va genial.. pero por .... ... (mejor no decirlo)... se modifico el código y ahora no logro hacerlo funcionar..
el codigo es:
$(document).ready(function()
     {
   
   $("#nav li").each(function(event){
    var href = $(this).attr("href");
   $(this).attr({href:" # "});
   $(this).on('click','ul a',function(event){
   event.preventDefault();
   $("#centro").load(href);
   return false;
   });
   });
                        
   });

el menú esta en un div lateral.. y se carga en otro.. los nombres estan bien..

me podeis echar una mano? Gracias


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.849



Ver Perfil WWW
Re: funcion on() de jquery no me funciona
« Respuesta #1 en: 12 Junio 2012, 15:42 pm »

Coges la variable href en el lugar equivocado. Tienes que pillarla cuando el usuario hace click sobre el enlace porque si no, le estas diciendo a jquery que coga el atributo href de un li... xD

Código
  1. $(document).ready(function(){
  2.  $("#nav li").each(function(event){
  3.    $(this).on('click','ul a',function(event){
  4.      event.preventDefault();
  5.      var href = $(this).attr("href");
  6.      $(this).attr({href:" # "});
  7.      $("#centro").load(href);
  8.      return false;
  9.    });
  10.  });
  11. });

Saludos


« Última modificación: 12 Junio 2012, 15:45 pm por drvy | BSM » En línea

NataliaV

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: funcion on() de jquery no me funciona
« Respuesta #2 en: 17 Junio 2012, 02:54 am »

hola.. muchas gracias por responderme..
me cargan las páginas en donde queria, pero ahora me pasa una cosa que antes no me pasaba.. y es, que en alguna una página, el efecto mostrar/ocultar me va, y en otra, el mismo efecto no lo hace.. y es que ahora, si doy dos veces al mismo link (no seguidas).. pues ya no me va..y me da error:
Uncaught Error: Syntax error, unrecognized expression: #
m.error
m.filter
m
c.querySelectorAll.m
f.fn.extend.find
f.fn.extend.load.f.ajax.complete
f.Callbacks.o
f.Callbacks.p.fireWith
w
f.support.ajax.f.ajaxTransport.send.d

...a mi esto me esta volviendo chibirita ya..  :P

pd.de nuevo gracias por contestar..
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.849



Ver Perfil WWW
Re: funcion on() de jquery no me funciona
« Respuesta #3 en: 17 Junio 2012, 03:10 am »

Es normal, porque cambias el valor del attr a # cosa que no es valida y al segundo intento falla.
Para solucionarlo puedes quitar el $(this).attr({href:" # "}); Ya que el prevent default ya hace todo lo necesario.


Saludos
En línea

NataliaV

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: funcion on() de jquery no me funciona
« Respuesta #4 en: 17 Junio 2012, 03:21 am »

que besazo te pegaba ahora madre...  ;D

ahora voy a buscar porque me funciona en una pagina el slideDown en una página y en la otra no...

Gracias gracias gracias.. jeje

besos
En línea

NataliaV

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: funcion on() de jquery no me funciona
« Respuesta #5 en: 17 Junio 2012, 03:45 am »

voy a explicarme mejor...

cargo las páginas en un div.. dos de ellas tienen capas ocultas que se van abriendo y cerrando dependiendo de lo que el usuario quiera ver..

bueno.. pues pulso el link del menú.. se carga la página en el div.. y pulso (en la página recien cargada) otro link que me muestra una lista de cocteles  :silbar: .. doy a otro link del menú, y en la página que se carga hay varios enlaces que muestran distintas capas según la opción que tu quieras.. pués en esta página no funciona el mostrar capa..  :o .. los códigos son identicos (exceptuando el nombre de la capa claro, pero igualitos, y están en el mismo archivo misfunciones.js..

alguien sabe porque puede pasar esto?
la ruta está bien (las páginas en el mismo directorio)...
no veo ningún error de escritura...
...
...
En línea

NataliaV

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: funcion on() de jquery no me funciona. Solucionado!
« Respuesta #6 en: 17 Junio 2012, 04:14 am »

ya está.. arreglado...

he separado las funciones, las he pasado a otro archivo y ya funciona.. eso si.. lo he tenido que sacar del directorio del html.. (no se por que.. pero asi funciona..

Gracias a todos!
besosss
En línea

NataliaV

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: funcion on() de jquery no me funciona
« Respuesta #7 en: 17 Junio 2012, 04:25 am »

jooooooooroba..jejejej

pues no está solucionado del todo... en el explorer no me va... ... ... :huh:...
lo dejo por hoy..

si alguno teneis idea de porque puede ser.. no os corteis ... podeis dar vuestra opinión..

 :-* :-*
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.849



Ver Perfil WWW
Re: funcion on() de jquery no me funciona
« Respuesta #8 en: 17 Junio 2012, 13:48 pm »

Podrías dar un ejemplo de lo que pasa? Es que no puedo adivinar el código que tienes para la animación y todo eso =)

PD: Ejemplo: parte del código o subirlo algún sitio para verlo.. xD

Saludos
En línea

NataliaV

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: funcion on() de jquery no me funciona
« Respuesta #9 en: 17 Junio 2012, 16:25 pm »

hola!
Pues está arreglado y no he hecho nada.. supongo que simplemente tenia el pc, el xamp, el ie.. cansaditos ya... acabo de mirarlo y ya funciona  ;-)

por cierto.. el código era simplemente:

en fun.js
$(document).ready(function()
     {

 
$("#mindividual").click(function(event)
  {
   $("#opind").slideDown(2000);
   });
});

en el html:
<head>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="../fun.js"></script>
</head>
<body>
...
<div class="opcion1"><a href="#" id="mindividual">- MOMENTO INDIVIDUAL </a></div>
...
</body>

...ya ves tú que complicación jeje..

Muchas gracias por tu ayuda..
besos...
pd. Cuando la publique te mandaré una invitación para que la veas...  :-*
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con la funcion jquery-ajax $.post(). como se implementa ??
Desarrollo Web
jhonatanAsm 4 5,335 Último mensaje 1 Diciembre 2011, 19:18 pm
por jhonatanAsm
por qué no me funciona la función load() de jquery-ajax « 1 2 »
Desarrollo Web
jhonatanAsm 16 19,614 Último mensaje 9 Noviembre 2012, 13:38 pm
por Imperius
problema llamar funcion jquery con php
PHP
soru13 2 8,624 Último mensaje 22 Enero 2012, 19:47 pm
por soru13
Llamar a una funcion Jquery
Desarrollo Web
mapers 8 3,256 Último mensaje 14 Enero 2014, 00:00 am
por engel lex
[Resuelto] no funciona funcion jquery en nueva fila insertada dinamicamente
Desarrollo Web
cv_olehc 0 1,700 Último mensaje 25 Julio 2014, 13:42 pm
por cv_olehc
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines