Ir ao conteúdo
  • Cadastre-se

Jquery executa sem chamar


Posts recomendados

E aí gurizada, beleza? Estou com um problema. Tenho um script que ao clicar sobre um botão, o mesmo apresenta uma janela modal. O script é bem simples que simplesmente faz o hidden="true" e uma div ficar false. O problema é que este script funciona toda a vez que a página index.php é atualizada. Como nesta página há uma tabela de dados com atualização constante, a modal fica o tempo todo sendo requisitada.

 

$(document).ready(function() {
    $("#btnEmp").click(function () {
        $("#fundoPreto").show();
        $("#cadEmp").slideDown();
    });
    $("#fechaModal").click(function () {
        $("#fundoPreto").hide();
        $("#cadEmp").slideUp();
    });
});

Este é o script, percebam que ele deveria ser executado se e somente se o seletor (#btnEmp) fosse clicado. O que pode estar acontecendo já que a atualização sempre faz a requisição do jquery? Outros scripts funcionam perfeitamente, sendo executados somente quando solicitados. Esse é o único com problema.

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Felipe Paz  Tente alterar a função click para ON() e usar o preventDefault() para ver se resolve.

 

$(document).ready(function() {
    $("#btnEmp").on("click", function (event) {
        event.preventDefault();
        $("#fundoPreto").show();
        $("#cadEmp").slideDown();
    });
    $("#fechaModal").on("click", function (event) {
        event.preventDefault();
        $("#fundoPreto").hide();
        $("#cadEmp").slideUp();
    });
});

No css,  como está definido a regra para o elemento div que está escondido? 

Normalmente é setado o display: none  ou visibility: hidden

Experimenta também esconder pelo jQuery 

 

$("#fundoPreto").hide();

Colocando logo abaixo de $(document).ready(function(){

 

PS: Use a versão mais recente do jQuery.  Podes usar a versão CDN do google  se quiser.

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

Todas as versões aqui

Link para o comentário
Compartilhar em outros sites

@DiF Obrigado por responder, fiz as alterações que tu sugeriu. Sem efeito. Continua chamando a modal em toda refresh da página. A div está como display:none no css.

 

 

[Editado]

 

@DiF, achei o problema. Desatenção minha. A div onde está o modal estava com display: none, contudo, a div que cobre a página com o fundo preto não estava setada como display: none. Por algum motivo isso fazia a chamada do script. Arrumei isso no próprio CSS e agora funciona tudo perfeitinho. Valeu pela ajuda!

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!