Рассмотрим следующий пример:
function async_callback(array1, array2, array3) {
// All arrays are equal length
for(var i = 0; i < array1.length; i++) {
var myElement = new Element('div', { 'id': 'dvMy' + i, 'events': { 'click': function() { SomeFunction(array1[i], array2[i], array3[i] } }});
$(document).appendChild(myElement);
}
}
Теперь, когда я щелкаю свой элемент, я получаю нулевое значение для всех трех аргументов.
Я даже попытался сделать: myElement.onclick = SomeFunction; // но это не допустит аргументов
Я знаю, что могу создать строку и использовать eval (), и это работает, но мне не нравится eval ().
Есть идеи ???
Кстати: это простой пример для репликации проблемы, а не фактический код.