Ir para conteúdo

POWERED BY:

Arquivado

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

Weslley Clyton Hinsch

Função on() Jquery

Recommended Posts

Olá amigos, estou com uma grande dificuldade em utilizar o método on() do jquery..

Já pesquisei bastante, sei a teoria de como utilizar, mais nao consigo adaptar as minhas necessidades..

 

Eu preciso que uma função que eu chamei na página continue funcionando para os elementos html que foram adicionas pelo append().

 

No caso as funções que iria utilizar são:

 

 

 

 

$('.fancybox').fancybox();


$('#look').scrollPagination({


   nop     : 8, 
   offset  : 0,
   error   : 'Não ha mais fotos!',
   delay   : 500,
   scroll  : true, 
   look    : title
});

 

 

nos exemplos que vi até agora, o on() sempre funciona com o evento click, mouseover etc.. mas não achei nenhum que funcionasse com uma função não nativa do jquery.

 

 

eu tentei fazer assim:

 

 


 

$('.fancybox')on('fancybox', function());

 

 

mas não deu resultado. Vocês poderiam me dizer como ficaria essas duas funções utilizando o on()?

 

Desde já agradeço.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

para plugins, dá uma lida aqui:

 

 

http://wbruno.com.br/ajax/usando-lightbox-em-pagina-carregada-ajax/

http://wbruno.com.br/jquery/plugin-jquery-em-elemento-criado-dinamicamente-com-javascript-append-jquery/

 

 

realmente não é o "on" que vai resolver. É o entendimento da técnica que utilizei acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então instancie os plugins apenas para os elementos inseridos.

 

por exemplo, se vc estiver usando .append(), então o elemento q vc inseriu é o último. Nesse caso faça um seletor para colocar o fancybox apenas no último elemento daquele DOM.

 

 

 

Outra alternativa é "matar" o plugin para depois instanciar novamente. Ai tem que dar uma olhada na documentação de cada um deles, se eles possuem um método para isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então to fufu..

 

Estou fazendo um site que não faz refresh ao trocar de página, eu tenho uma pagina home, que nao usa plugins, uma pagina marcas e 2 páginas de looks, que listam imagens, e o paginador é feito pelo scroll...

 

Essas páginas estão com o html separado, e são chamadas com o evento load();

 

assim:

 

 

 

 

$(document).on('click', '.telainterna', function (e){


var pagina = $(this).attr('id');
url = pagina;


e.preventDefault();
window.history.pushState('Object', 'Categoria JavaScript', pagina);


$("#conteudo").load(pagina+'.php', aviso());


function aviso(){




}


});

e é nesse momento do load q estou tentando chamar o plugin...



Então não estou usando o append.. pois invés de adicionar html, ele limpa tudo, e coloca outro, e assim por diante. e preciso que o plugin se execute sempre que chamar as paginas looks...

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc leu o primeiro link q postei ?

 

ele resolve e tem um código bem parecido com o seu. Qual a dúvida ?

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.