Passar um objeto por evento
iamginem o seguinte
function obj(arg1 , arg2){
this.var1 = arg1;
this.var2 = arg2;
this.component = document.createElement('algum_elemento...');
this.getComponent = function(){
return this.component;
}
}
for(var i in resultados_do_banco_em_JSON){
var n = new obj(resultados_do_banco_em_JSON[i].id,resultados_do_banco_em_JSON[i].nome);
n.getComponent().onclick = function(){ ver_atributos(n)};
//faz de conta que tem uma var body em algum lugar que tem o corpo
body.add(n.getComponent());
}
function ver_atributos(obj){
alert(obj.var1 + obj.var2);
]
esse alert maldito ai so mostra os ultimos valores, tipo, imaginem 10 resultados para o for, para qualquer div que eu clicar, ele vai dar alert somente do ultimo resultado, por que isso acontece? eu sempre preciso fazer uma gambiarra lazarenta para fazer isso funcionar, fica muito podre
a proposito, a gambiarra é colocar o evento dentro do objeto, mas fica horrivel, pq nesse caso, a funcao ver_atributos fica fora dele, a nao ser que eu passe ela junto, mas...meu deus, fica mto ruim :D
Discussão (2)
Carregando comentários...