Ícone do site Linha de Comando

JQuery: Passando $(this) para função

Neste post, mostro 2 formas de usar o $(this) para saber em qual campo foi pressionado uma tecla.

Na forma 1 temos que passar o $(this) como parâmetro da função, pois o evento ocorre em uma função anônima.

Na forma 2 não há necessidade de passar o $(this), pois a função é declarada.

// forma 1
$("table").on("keypress", "input", function(){
   // tem que passar $(this) como parâmetro da função
   nome_funcao( $(this) );
});

function nome_funcao( elemento ){
    // imprime resultado
    $("#resultado").html( "Input - ID: "+elemento.data("id") );
}

// forma 2
// não precisa passar $(this) como parâmetro da função
$("table").on("keypress", "input", nome_funcao);

function nome_funcao(){
    // imprime resultado
    $("#resultado").html( "Input - ID: "+ $(this).data("id") );
}

Para testar os códigos, clique nos links abaixo:

Forma 1

Forma 2

Sair da versão mobile