Mam tablicę obiektów, które posiada każdy „actionButton” id, selekcyjny i oddzwanianieJak przekazać konkretny element tablicy dla wywołania zwrotnego zdarzenia
var actionButtons = [
{
id:"0",
selector:"._55ln._qhr",
callback: undefined
},
{
id:"1",
selector:"._22aq._jhr",
callback: undefined
},
.
.
.
];
Co usiłuję zrobić jest wywołanie funkcji z określonym parametrem z tablicy (id) za każdym kliknięciem selektora.
for(var i=0;i<actionButtons.length;i++){
$(document).on('click', actionButtons[i].selector, function() {
makeAction(actionButtons[i].id);
if (actionButtons[i].callback)
actionButtons[i].callback(this);
});
}
Ale ten kod nie działa; wygląda tak, że za każdym razem, gdy wywoływana jest funkcja zwrotna, wartość i
jest równa wielkości tablicy.
Jak mogę rozwiązać ten problem; aby wartość zmiennej i
stała się inna dla każdego wywołania zwrotnego.
Możliwy duplikat [zamknięcia JavaScript wewnątrz pętli - prosty praktyczny przykład] (https://stackoverflow.com/ pytania/750486/javascript-closure-inside-loops-simple-practical-example) –