consider:
for (var i in somecollection){
   var a = document.createElement('a');
   a.onclick = new function(){callSomeMethod(somecollection[i]);};
   ...
}
At runtime, all 'a' elements wind up calling callSomeMethod with the same parameter value (the last element in 'somecollection'.
I have a hack of a solution as follows:
for (var i in somecollection){
   var a = document.createElement('a');
   var X = 'callSomeMethod(\''+somecollection[i]+'\');';
   a.setAttribute('onclick', X);
   ...
}
But this forces me to exclude 'callSOmeMethod' from mangling/compression when I minify my JS files. How can I make each 'a' element's click handler callSomeMethod with a different parameter without hardcoding the function name in a string?
The closest my search found is the accepted answer in pass string parameter in an onclick function but I do not know how to create a 'scope bubble' .
Thanks...
 
     
     
     
    