Foros del Web » Programando para Internet » Jquery »

funcion alternativa a .live para algo diferente de .click

Estas en el tema de funcion alternativa a .live para algo diferente de .click en el foro de Jquery en Foros del Web. que tal forer@s, saludos!! me paso algo similar que a este caso: http://www.forosdelweb.com/f127/jque...xxlink-840236/ En mi caso me traigo un php con ajax, en este php ...
  #1 (permalink)  
Antiguo 03/08/2012, 09:28
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 7 meses
Puntos: 23
funcion alternativa a .live para algo diferente de .click

que tal forer@s, saludos!!

me paso algo similar que a este caso:

http://www.forosdelweb.com/f127/jque...xxlink-840236/

En mi caso me traigo un php con ajax, en este php tengo unas pestañas dinámicas y un efecto en jquery que al cargarlos con ajax no funcionan

yo tenia esto:

Código Javascript:
Ver original
  1. jQuery(document).ready(function() {    
  2.     jQuery('#ocultar').click(function() {
  3.             jQuery('#enlaces_top').slideUp(1000);
  4.             document.getElementById('ocultar').style.display='none';
  5.             document.getElementById('mostrar').style.display='block';
  6.     });
  7.     jQuery('#mostrar').click(function() {
  8.             jQuery('#enlaces_top').slideDown(1000);
  9.             document.getElementById('ocultar').style.display='block';
  10.             document.getElementById('mostrar').style.display='none';
  11.     });
  12.  
  13.     jQuery('#close_accesos').click(function() {
  14.         jQuery('#accesos_directos').animate({ 'marginLeft' : "-=85px" });
  15.             document.getElementById('open_accesos').style.display='block';
  16.             document.getElementById('close_accesos').style.display='none';
  17.     });    
  18.     jQuery('#open_accesos').click(function() {
  19.         jQuery('#accesos_directos').animate({ 'marginLeft' : "+=85px" });
  20.             document.getElementById('open_accesos').style.display='none';
  21.             document.getElementById('close_accesos').style.display='block';
  22.     });
  23.  
  24.     jQuery("#tabs").tabs({
  25.         event: "mouseover"
  26.     });
  27.  
  28.     jQuery(".rollover").css({'opacity':'0'});
  29.         jQuery('.img_list a').hover(
  30.             function() {
  31.                 jQuery(this).find('.rollover').stop().fadeTo(500, 1);
  32.             },
  33.             function() {
  34.                 jQuery(this).find('.rollover').stop().fadeTo(500, 0);
  35.             }
  36.         )
  37.     });

Por lo que quite jQuery(document).ready(function() {

y agregue a los .click jQuery('#ocultar').click(function() { la funcion live:

jQuery('#close_accesos').live('click',function() { (y el caso del hove .live('hover', function()...)

y ya funciona el efecto jquery que cargo de la pagina php pero que pasa con estos, no me los toma en cuenta:

Código Javascript:
Ver original
  1. jQuery("#tabs").tabs({  /*la funcion que agrupa las etiquetas dinamicas*/
  2.     event: "mouseover"
  3. });
  4. jQuery(".rollover").css({'opacity':'0'});

que se pone en esos casos??

.tabs y .css

por que no me funcionan :(

gracias
  #2 (permalink)  
Antiguo 03/08/2012, 11:36
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 6 meses
Puntos: 220
Respuesta: funcion alternativa a .live para algo diferente de .click

Bueno primero no creo que deberías jQuery al momento de crear los eventos, no seria mejor usar el $ a menos que estés usando otras librerías.

No seria mejor solo traer el html de tu ajax y una vez cargada dentro del DOM recién asignes los eventos ahí si creo que te debe funcionar
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 03/08/2012, 11:40
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 7 meses
Puntos: 23
Respuesta: funcion alternativa a .live para algo diferente de .click

Hola Dradi7

JQuery lo uso porque tengo otras librerías y causa conflicto

Cita:
una vez cargada dentro del DOM recién asignes los eventos ahí si creo que te debe funcionar
eso como se haría??
  #4 (permalink)  
Antiguo 03/08/2012, 13:24
Avatar de fleandro  
Fecha de Ingreso: junio-2012
Ubicación: Cali (Valle del cauca)
Mensajes: 18
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: funcion alternativa a .live para algo diferente de .click

catpaw para solucionar el conflicto de librerias de jquery debes de asignar Jquery.noConflict() a una variable y esa misma utilizarla.
  #5 (permalink)  
Antiguo 03/08/2012, 17:01
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 7 meses
Puntos: 23
Respuesta: funcion alternativa a .live para algo diferente de .click

Holaaa

mi problema no es el conflicto de las librerias!!!!!

necesito algo como .live pero sin tener que poner el evento, es decir que me reconozca los scripts que viene de pagina externa

bueno como sea ya mejor los quite, no eran esenciales y me estaba haciendo mucho lio

gracias iguaj
  #6 (permalink)  
Antiguo 04/08/2012, 22:50
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 12 años, 6 meses
Puntos: 127
Respuesta: funcion alternativa a .live para algo diferente de .click

Existen varias formas.

1) Añadiendo un setInterval que ejecute reiterativamente las sentencias

var intervalo = setInterval(function() { jQuery("#tabs").tabs({event: "mouseover"}); }, 100);

2) Añadiendo a live un evento que suceda casi siempre, como es onmousemove

$(document).live('mousemove',function(){
jQuery("#tabs").tabs({event: "mouseover"});
}

3) Añadiendo un listener del evento load de los elementos

$("#tabs").load(function(){
$(this).tabs({event: "mouseover"});
});

4) Creando un evento y disparándolo justo cuando suceda la respuesta ajax

$.ajax({
...
success:function(){
$("#tabs").trigger("eventoimaginario");
}

})

$("#tabs").bind("eventoimaginario",function(){
$(this).tabs({event: "mouseover"});
}
)

Por cierto, live() ha sido reemplazada por on()

Un saludo
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #7 (permalink)  
Antiguo 05/08/2012, 01:22
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 10 meses
Puntos: 57
Respuesta: funcion alternativa a .live para algo diferente de .click

Hola catpaw, que tal.

La verdad es que no te recomiendo el metodo .Live() de JQuery. En este artículo que comparto se fundamenta el porque no usarlo: Porqué no debemos usar nunca jQuery Live. También se mencionan alternativas a su uso.

Para solucionar tu problema:
Cita:
En mi caso me traigo un php con ajax, en este php tengo unas pestañas dinámicas y un efecto en jquery que al cargarlos con ajax no funcionan
Se trató y dio solución en un tema con similar problema, revisa este link; la solución esta específicamente en el post #10.

Coméntanos tu progreso.
  #8 (permalink)  
Antiguo 06/08/2012, 08:33
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 7 meses
Puntos: 23
Respuesta: funcion alternativa a .live para algo diferente de .click

Gracias por sus respuestas

a fin de cuentas tuve que cambiar todo mi esquema ya que cargar con ajax paginas externas resulto ser un desastre.

Ya no necesite la función live finalmente.

Pero aprendí mucho gracias

Etiquetas: ajax, diferente, funcion, live, 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 08:07.