Dynamiczne rodzaje izotopów

Używam wtyczki jQuery Isotope (http://isotope.metafizzy.co/), która jest niesamowita, ale mam problem z tworzeniem tego rodzaju. To bardziej problem z JavaScriptem niż cokolwiek, co ma związek z samym izotopem.

Problem polega na tym, że dynamicznie buduję dane sortowania. Stworzyłem więc funkcję, która tworzy sortData. Przykład poniżej:

function getSortData(){
    sortData = {};
    var sorts = ['symbol', 'number', 'score', 'name'];
    for (var i in sorts) {
      sortData[sorts[i]] = function($elem) {
        console.log(sorts[i]);
        return parseInt($elem.find('.'+ sorts[i]).text());     
      }
    }
    return sortData;
  }

Problem polega na tym, że anonimowa funkcja wewnątrz zawsze działa po uruchomieniu całej funkcji getSortData (). Wynik ostatniego elementu tablicy sortowania jest przypisany do zmiennej sort [i].

Jest to pokazane na tym skrzydle:http://jsfiddle.net/xzZR4/ Zobaczysz, że element „name” jest zawsze wysyłany do konsoli.

Nie mogę wymyślić innego sposobu utworzenia obiektu getSortData, który umożliwi przekazanie poprawnej nazwy sortowania.

Czy ktoś ma jakieś pomysły?

questionAnswers(1)

yourAnswerToTheQuestion