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

Diferença entre a função: .on("click", function()... E .onclick(function ()

Nessa aula são passadas duas maneiras de executar uma função a partir de um evento, por exemplo o clique do mouse.

Na prática, existe alguma diferença entre as duas formas de escrever a função (sendo que usando o .click diretamente economizaria código)? Qual a melhor prática?

Qual exemplo seria necessário a utilização do on("click

$("#botao-copiar").on("click", function(){
            var campo = $("#campo-nome").val();
            $("#texto-copiado").text(campo);    
        });

ao invés de inserir o click diretamente:

$("#botao-copiar").click(function(){
            var campo = $("#campo-nome").val();
            $("#texto-copiado").text(campo);    
        });

?

3 respostas
solução!

Oi Aline, o segundo é só um atalho para o primeiro, na prática não faz diferença :). Você pode conferir inclusive na documentação do jquery

É isso mesmo. O atalho é menos vc verboso.

Olha, eu ainda não avancei muito nos estudos, e alguém pode me corrigir caso eu esteja errado.

Olhando os dois códigos, a vantagem do primeiro é que você pode mudar o tipo do evento dinamicamente, enquanto no outro não é possível. Isso poderia ser feito pois, ao invés de colocar a string "click" diretamente, você poderia utilizar uma variável qualquer, que mudaria de acordo com o seu programa. Essa variável teria em seu conteúdo o evento desejado, seja ele "blur", "click", ou qualquer outro.

Pensando rapidamente em utilidade, imagino o caso de uma página com vários campos a serem preenchidos, e todos eles usariam essa variável para o evento desejado. Algum outro evento poderia modificar a variável e ao invés de precisar de um click, seja necessário um dbclick.

Bom, isso foi só um pensamento que me veio a cabeça agora, algo a se pensar. (Espero ter conseguido ser claro)

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