Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Liu Martins83

[Resolvido] Como usar .live() com bibliotecas jQuery

Recommended Posts

Boa tarde,

 

Galera, seguinte outro dia aprendi usar o .live, através de um post aqui mesmo e com a ajuda do Willian Bruno. Hoje me deparei com uma situação que parece ser um problema parecido mas q a mesma solução não resolveu:

 

Uma requisição de ajax gera um novo conteudo dentro da div com resultados de uma busca. Nesses resultados tem um link para um formulário de Indicação a um amigo, que abre uma janela tipo modal através da biblioteca jquery Colorbox.

 

// COLORBOX
$(document).ready(function(){
$(".iframe").colorbox({
  iframe:true,
  width:"750",
  height:"90%",
  overlayClose: false
});
});

 

esse código não funciona, aí tem usar o .live() da seguinte maneira.

 

// COLORBOX
$(document).ready(function(){
$(".iframe").live('colorbox', function({
  iframe:true,
  width:"750",
  height:"90%",
  overlayClose: false
});
});

 

Não houve sucesso também, com ctz o problema está em como usar o .live com bibliotecas jQuery pois nos eventos nativos do mesmo como o click, focus e etc. o live funciona perfeitamente.

 

Espero ter explicado certinho...

abcs

Compartilhar este post


Link para o post
Compartilhar em outros sites
em como usar o .live com bibliotecas jQuery

não usa. Para plugins, você deve fazer de outra forma, o .live() não resolve mesmo.

 

Veja este post:

Usando lightbox em página carregada com ajax

http://wbruno.com.br/blog/2011/08/22/usando-lightbox-em-pagina-carregada-ajax/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa.. beleza, Willian...

entao, aqui eu toh usando o $.ajax() você já usou o callback para este evento???

eu não parece ser o mesmo q usa-se no .load)(), tÔ olhando o manual p ver se entendo algo..

 

se souber algo dá um alo.

 

abcs

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça no succcess do $.ajax

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda não deu certo... vê com eu utilizei

 

	$.ajax({

			type: "GET",
			url: "resultado_busca.php",
			data: dados,
			success: function(retorno){
				function(){
					$(".iframe").colorbox({
					  iframe:true,
					  width:"750",
					  height:"90%",
					  overlayClose: false
					});
				};
				 $("#destaquesIndex" ).html(retorno);
				 $("#carregando").hide();
			};

 

utilizei tb sem o function() abaixo do success.. e também não deu certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você primeiro, tem q inserir a marcação nova, e somente depois atrelar o plugin

 

 

$.ajax({ 
     type: "GET",
     url: "resultado_busca.php",
     data: dados,
     success: function(retorno){
           $("#destaquesIndex" ).html(retorno);

           $(".iframe").colorbox({
                 iframe:true,
                 width:"750",
                 height:"90%",
                 overlayClose: false
           });

           $("#carregando").hide();
     }
);

 

entendeu ? a ordem é importante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opaa, entendi.. arrumei a ordem das bibliotecas tb. Agora está funcionando.

Uma outra coisa, em vez de eu colocar todo o codigo

 

						$(".iframe").colorbox({
					  iframe:true,
					  width:"750",
					  height:"90%",
					  overlayClose: false
					});

 

tem como criar a função e chamar dentro success apenas pelo nome dessa função??

Compartilhar este post


Link para o post
Compartilhar em outros sites

tecnicamente tem sim... deve funcionar.

 

nunca tentei.

oque eu já cheguei a brincar nesse estilo, foi isso aqui:

http://wbruno.com.br/blog/2011/07/18/vixi-aprendi-jquery-mas-agora/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.