Ir para conteúdo

POWERED BY:

Arquivado

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

Anselmo Gomes

jQuery - Como controlar o Retorno do Método .click()

Recommended Posts

Boa tarde, pessoal!

 

Estou desenvolvendo uma função em jQuery para tratar entradas do usuário e de acrodo com a entrada retornar boleano true ou false.

 

Funciona assim: vou oferecer uma janela modal com uma mensagem para o usuário e dois botões: sim e não. Assim, quando o usuário clicar no botão sim minha função deverá retornar true e quando clicar em não, retornar false. O Problema é que segundo meus testes, o método .click() do jquery sempre retorna true e a função principal (minhaFuncao(), veja código abaixo) sempre retorna sem considerar o return dentro do método .click().

 

Vejam o código:

 

minhaFuncao = function(meuArgumento) {

	$('#botao-ok').click(function(){ $('#mascara').fadeOut("fast"); return true; }); 
	$('#botao-cancelar').click(function(){ $('#mascara').fadeOut("fast"); return false; }); 

}

 

 

Já tentei também criar uma variável global para armazenar o booleano mas não deu certo

 

minhaFuncao = function(meuArgumento) {

	$('#botao-ok').click(function(){ $('#mascara').fadeOut("fast");  retono = true; }); 
	$('#botao-cancelar').click(function(){ $('#mascara').fadeOut("fast"); retono =  false; }); 

return retorno;
}

 

Quem puder dar uma força, vai ser de muita ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao meu ver, a maneira que você está tentando não seria a melhor. Sugiro a que segue:

 

HTML:

<input type="button" class="confirm" id="true" value="Sim" />
<input type="button" class="confirm" id="false" value="Não" />

jQuery:

var confirm;
$(document).ready(function(){
$('.confirm').click(function(){
	confirm = ($(this).attr('id') == 'true');
});
});

Claro que, dependendo de como está seu código, você precisará adaptar. Foque na lógica.

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.