Como armazenar variáveis ​​locais em funções de clique do jQuery?

Eu estou tentando descobrir como armazenar valores de variáveis ​​externas nas funções criadas durante o evento click () do jQuery. Aqui está uma amostra do código com o qual estou trabalhando agora.

for(var i=0; i<3; i++){
    $('#tmpid'+i).click(function(){
        var gid = i;
        alert(gid);
    });
}

<div id="tmpid0">1al</div>
<div id="tmpid1">asd</div>
<div id="tmpid2">qwe</div>

Então, o que está acontecendo é que os eventos estão sendo anexados corretamente, mas o valor de 'gid' é sempre o último valor incrementado de 'i'. Não sei como configurar a variável privada nessa situação.

questionAnswers(5)

yourAnswerToTheQuestion