Problema com jQuery

Eu tenho duas funções idênticas que fazem a mesma coisa, ambas enviam um POST e retornam alguns resultados, porém, só a primeira funciona corretamente, e o mais estranho de tudo, é que a segunda função só executa se tiver um ALERT no inicio dela, se não tiver um ALERT, ela não funciona…

Minhas duas funções iniciam-se assim

$(function(){ 

	$('.carregar-conteudo').click(function(){ 
	var id = $(this).attr("id"); 
	var type = "public";
	var type2 = "private";
	carregar_conteudo(id, , type, type2, 'php_parse/load.php');
	});
	function carregar_comentarios(){ ... ... ... ...
});

2ª função é a mesma coisa, mudando apenas o nome da função
$(function(){

	$('.carregar-conteudo2').click(function(){ 
	var id = $(this).attr("id"); 
	var type = "number";
	var type2 = "string";
	carregar_conteudo(id, , type, type2, 'php_parse/load.php');
	});
	function carregar_comentarios(){ ... ... ... ...
});

Esse click.(function) na segunda função não funciona, lembrando que o CLASS que eu resgato na função 2 é diferente do CLASS da primeira função,…Se não iniciar com um ALERT a segunda função não pega, o que pode gerar esse bug?

	Seria o uso do `$` repetido?

Olá Renato!

Este problema quase sempre está relacionado a eventos que foram aplicados aos elementos HTML de sua página. Quando trabalhamos com JavaScript, primeiro devemos carregar todos os elementos HTML, para então somente depois aplicarmos os eventos.

Se o elemento com a classe “carregar-conteudo2” não existir quando você importar o JavaScript, então a função não vai funcionar. E isso explica porque a função volta a funcionar quando você coloca um alert nela, pois o alert pausa a execução do JavaScript, o que gera tempo para o HTML carregar.

No entanto para resolvermos o problema, peço para você postar os códigos completos, inclusive a página onde você inclui os scripts JS.

1 curtida

Consegui resolver o problema fazendo algumas alterações na função on click…

Obrigado por tentar ajudar!!!