konfiguracja autor własnych imprez z wiązaniami, więc są szanse change_actions
są funkcjami, które są subskrybowane do uruchomienia, gdy coś się dzieje ilość.
spróbować czegoś takiego:
// initialize with a value
var actions = [
function(x){ console.log('I see a new x: ' + x); }
];
// add actions "later"
actions.push(function(x){ console.log('Yup, a new x: ' + x); });
// Then execute them:
$.each(actions, function(){
this(4);
});
// add another one still
actions.push(function(x){ console.log(x + ' looks new'); });
// re-iterate over them
// Then execute them:
$.each(actions, function(){
this(5);
});
a wynik:
// first iteration (only 2 subscribed events)
[15:56:50.030] "I see a new x: 4"
[15:56:50.030] "Yup, a new x: 4"
// second iteration (now we have 3, one was added later)
[15:56:50.030] "I see a new x: 5"
[15:56:50.030] "Yup, a new x: 5"
[15:56:50.030] "5 looks new" // <-- new subscription
myśleć o tym, jak zdarzenia click
i jak można dodać subskrypcji poprzez wiązanie się $('element').click()
. za każdym razem, gdy następuje kliknięcie, wszystkie subskrybowane zdarzenia są wyzwalane.
change_actions musi być tablicą funkcji. w zwykłym js działa tak: funkcja apply (v) {return this (v);} [1,2,3] .map (apply, RegExp); – dandavis
Dodaj 'console.log (this)' lub 'console.dir (this)' do treści wywołania zwrotnego i zobacz, do czego odnosi się to "this". – fardjad
Funkcja $ .each() może być użyta do iteracji w dowolnej kolekcji, niezależnie od tego, czy jest to obiekt czy tablica. W przypadku tablicy wywołanie zwrotne przekazuje za każdym razem indeks tablicy i odpowiadającą jej wartość tablicy. (Dostęp do tej wartości można również uzyskać za pomocą tego słowa kluczowego ...) stąd: http://api.jquery.com/jQuery.each/ – svillamayor