Ir ao conteúdo
  • Cadastre-se
Felipe Paz

Jquery executa sem chamar

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×