PDA

View Full Version : recuperare variabile dopo onclick


AlexCyber
24-05-2007, 20:15
allora ho questo script

function crea(obj, k ) {
alert(obj+' '+k)
}

function init(){
big = document.getElementById('big');
container=document.getElementById('galleria');
links=container.getElementsByTagName('a');
for(var k=0,l=links.length;k<l;k++){
links[k].onclick=function(){
return crea(this.href, k );
}
}
}

window.onload = init;


in poche parole come posso passare la variabile k alla funzione crea dopo che è avvenuti onclick?

sono ore che ci sbatto la testa :dhò:

ciao e grazie

andbin
25-05-2007, 08:38
in poche parole come posso passare la variabile k alla funzione crea dopo che è avvenuti onclick?for(var k=0,l=links.length;k<l;k++){
links[k].k = k;
links[k].onclick=function(){
return crea(this.href, this.k );
}
}

AlexCyber
25-05-2007, 12:53
for(var k=0,l=links.length;k<l;k++){
links[k].k = k;
links[k].onclick=function(){
return crea(this.href, this.k );
}
}

grazie per l'aiuto ora vado a provare il codice e ti faccio sapere, una cosa non capisco qundo scrivi links[k].k = k; potresti spiegarmi brevemente?

grazie

andbin
25-05-2007, 13:54
non capisco qundo scrivi links[k].k = k; potresti spiegarmi brevemente?La cosa bella in Javascript è che puoi assegnare agli oggetti le proprietà che vuoi!

links[k] è un oggetto e gli definisco una proprietà 'k' a cui assegno il valore della variabile 'k'. La proprietà avrei potuto chiamarla in qualunque altro modo ... "pippo" o come ti pare.
A quel punto il valore di 'k' è contenuto nell'oggetto, pertanto nella funzione per onclick basta fare this.k

AlexCyber
26-05-2007, 14:38
grazie mille !!, sintetico ed efficace:cincin: