ciao
ho la necessita di registrare un f come listener di un array di elementi ... solo che questa f dovrebbe essere definita dinamicamente. vi posto il codice che non funziona e vi spiego perche':
codice:for(var i=0; i<ps.length; i++){ ps[i].onclick = function(){ return function(){ alert(i) } }() }
come vedete l'alert cambia a secondo dell'elemento e la funzione registrata sul listener e' una chiusura. un unico problema: gli elementi sui cui ce la registrazioen del listener (tag
) sono 4 nel mio dom e l'alert spara sempre 4. mi aspetterei uno 0 al click sul primo paragrafo, un 1 al click sul secondo .. e via dicendo. come mai la inner function ritornata dal wrapper non si valorizzano in accordo all'indece i del ciclo for??
grazie

Rispondi quotando