4
respostas

jQuery não precisa de event passado como parâmetro para a função?

Fala rapaziada! Na função removeLinha, que estamos a associar ao evento click do botão remover, estamos fazendo uso de uma variável que nunca é declarada nem inicializada. Faz ela está definida, inclusive dá para imprimir na console! Isso é padrão do jQuery ou dos eventos do javascript?

function removeLinha() {
    event.preventDefault();
    var linha = $(this).parent().parent();

    linha.fadeOut(1000);
    setTimeout(function() {
        linha.remove();
    }, 1000);
}

Grato, José

4 respostas

De que variável você tá falando José?

Putz, foi mal! Trata-se da variável event. Estou a usar o Firefox. Será que ele ou o jQuery estão dando uma ajudinha?

function removeLinha() {
    event.preventDefault();
    var linha = $(this).parent().parent();

    linha.fadeOut(1000);
    setTimeout(function() {
        linha.remove();
    }, 1000);
}

Grato, José

O botão por padrão tem um comportamento de te levar para um elemento "X" que está em href= ou em um id de algum elemento html quando você clica nele.

Como nesse caso estamos clicando na latinha de lixo pra excluir, o href dela é #, então ao clicar ele te levaria pro topo da página, por isso que entra o event.preventDefault();, ele evita que o evento (ir para o topo da página) ocorra ao clicar no botão relacionado àquele ! Eles falam disso no primeiro curso do jQuery lá no último módulo se não me engano...

<a href="#" class="botao-remover">
    <i class="small material-icons">delete</i>
</a>

Olá Paulo, eu entendo o comportamento do método preventDefault(). A questão é como funciona em uma variável eventque não foi inicializada no meu código, que é igual ao do Prof. Onde é que a variável event foi inicializada? Grato, José