Carregar Javascript no Ajax
Depois de muito tempo procurando e quase sem explicações claras, sobre como carregar um javascript após uma página ser carregada via Ajax.
Consegui após muitas tentativas e venho compartilhar.
1- Todos os métodos que você for usar (ações que você precisará usar nas páginas), precisam ser criados dentro de funções.
2 - Todos esses métodos devem ser declaradas fora do jQuery (fora do $(document).ready()) e similares. Exemplos:
ERRADO:
$(document).ready(function(){
function functionName(){
// acoes
}
});
CERTO:
function functionName(){
$(document).ready(function(){
// acoes
});
}
3- Coloque também a chama ajax dentro de uma função e chame as páginas usando o jQuery load().
function ajaxCall() {
$(document).ready(function(){
$(".ajax").click(function(){
$("#conteudo").load( $(this).attr("href") );
return false;
});
});
}
4- Crie um jQuery para chamar essas funções inicialmente ao carregar uma página (quando alguem entra no seu site por um link).
$(document).ready(function(){
functionName();
ajaxCall();
});
5- Na função ajaxCall, chama ela mesmo no final, e adicione o jQuery unbind() para remover múltiplos onClicks dos links com a class .ajax.
function ajaxCall() {
$(document).ready(function(){
$(".ajax").unbind("click");
$(".ajax").click(function(){
$("#conteudo").load( $(this).attr("href") );
ajaxCall();
return false;
});
});
}
6- Chame as outras funções que você criou e precisa utilizar nas páginas chamadas via ajax dentro da função ajaxCall()
function ajaxCall() {
$(document).ready(function(){
$(".ajax").unbind("click");
$(".ajax").click(function(){
$("#conteudo").load( $(this).attr("href"), function(){
functionName();
});
ajaxCall();
return false;
});
});
}
Bom acho que é isso, se eu tiver me esquecido de algo, comentem por favor.
Discussão (1)
Carregando comentários...