der Autor Setup ihre eigenen Veranstaltungen mit Bindungen, so stehen die Chancen, change_actions
Funktionen sind, die ausgeführt werden abonniert, wenn etwas passiert Die Quantität.
versuchen, etwas wie folgt aus:
// 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);
});
und das Ergebnis:
// 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
denken Sie daran, wie die click
Ereignis und wie Sie Abonnements hinzufügen, indem Sie auf $('element').click()
verbindlich. Bei jedem Klick werden alle abonnierten Ereignisse ausgelöst.
change_actions muss ein Array von Funktionen sein. in plain js funktioniert es wie folgt: function apply (v) {return this (v);} [1,2,3] .map (apply, RegExp); – dandavis
Fügen Sie dem Callback-Text 'console.log (this)' oder 'console.dir (this)' hinzu und sehen Sie, worauf sich 'this' bezieht. – fardjad
Die $ .each() -Funktion kann verwendet werden, um über jede Sammlung zu iterieren, ob es ein Objekt oder ein Array ist. Im Falle eines Arrays wird dem Callback jedes Mal ein Array-Index und ein entsprechender Array-Wert übergeben. (Der Wert kann auch über das Schlüsselwort this aufgerufen werden ...) von hier: http://api.jquery.com/jQuery.each/ – svillamayor