Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Ao usar o event.preventDefault() apresenta o erro ReferenceError: event is not defined

Coloquei um link de contato na minha página. Ao clicar dou um divContato.show(). Coloquei uma imagem para fechar essa div. Funciona , mas apresenta aquele salto devido a propriedade href da tag . Tentei usar o event.preventDefault() mas apresenta o erro ReferenceError: event is not defined. O que estou fazendo de errado? Baixei o jquery 3.2.1.

function fecharDiv(pdiv)
{

    event.preventDefault();
    $(pdiv).hide(2000);
    var posicao = $(pdiv).offset().top;
    console.log(posicao);
    $("body").animate(
    {
        scrollTop: posicao + "px"
    }, 2000);

}
<div id="fecharcontato" class="fecharcontato">
    <a id="bfechaContato" href="#" onClick="fecharDiv('#divcontato');"><img src="fechar.png"></a>
</div>

<h2>Ascom - Assessoria de Comunica&ccedil;&atilde;o Social </h2>

Telefone: xxxxxxxxxx
<br>
Endere&ccedil;o: xxxxxxxxxxx xxxxxxx xxxx xxxxxx xxxxxxx
2 respostas
solução!

E aí, Gustavo! Beleza, cara? =)

Na sua função, você está fazendo o seguinte:

function fecharDiv (pdiv) {
  event.preventDefault();

  // Restante do código...
}

Observe que você está chamando o preventDefault() de event, mas em momento algum você definiu quem é event. No seu caso, o que você precisa fazer, é passar como parâmetro da função, assim:

function fecharDiv (event, pdiv) {
  event.preventDefault();

  // Restante do código...
}

Conseguiu entender? =)

Espero ter ajudado! Abraço e bons estudos,

Fábio

Eu vou tentar, mas pelo que vi esse código só funciona no Chrome e não no Firefox. Pelo menos não com esse código. Valeu.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software