Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблемы с замыканием (https://javascript.ru/forum/misc/43137-problemy-s-zamykaniem.html)

damir.kipkaev 24.11.2013 00:01

Проблемы с замыканием
 
Есть такой код:
var data = ..., prefix = ..., id = ... dLink = ..., ...;

for(var key in data[prefix]) {
  if (key != id) {
    var item;
    item = ce('a',{ id: prefix+'-dd-item'+key });
    item.innerHTML = data[prefix][key];
    item.onclick = function() {
      dd.up(dLink,prefix,key);
    };
    body.appendChild(item);
  }
};

Проблема: При клике на item-ы с различными префиксами и ссылками все работает корректно. При клике на item-ы с одинаковыми prefix и dLink, но различными ключами, возвращает один и тот же результат (key одинаковый). Что делать?

ksa 24.11.2013 11:37

Цитата:

Сообщение от damir.kipkaev
key одинаковый

А так?

item.onclick = (function(A,B,C) {
	return function (){dd.up(A,B,C));
})(dLink,prefix,key);

damir.kipkaev 24.11.2013 14:42

You are genius! Спасибо большое :) Буду знать.


Часовой пояс GMT +3, время: 21:43.