¿Cómo almacenar variables locales en jQuery haga clic en las funciones?

Estoy tratando de averiguar cómo almacenar valores de variables externas en las funciones creadas durante el evento click () de jQuery. Aquí hay una muestra del código con el que estoy trabajando ahora.

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>

Entonces, lo que está sucediendo es que los eventos se adjuntan correctamente, pero el valor de 'gid' es siempre el último valor incrementado de 'i'. No estoy seguro de cómo configurar la variable privada en esta situación.

Respuestas a la pregunta(5)

Su respuesta a la pregunta