लेखक सेटअप बाइंडिंग के साथ अपने स्वयं की घटनाओं, इसलिए संभावना है change_actions
कार्यों को चलाने के लिए जब कुछ करने के लिए होता सदस्यता ले ली है कि कर रहे हैं मात्रा। इस तरह
कोशिश कुछ:
// 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);
});
और परिणाम: click
घटना और कैसे आप $('element').click()
के लिए बाध्य करके ग्राहकी जोड़ सकते हैं जैसे कि यह की
// 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
थिंक। हर बार एक क्लिक होता है, किसी भी सब्स्क्राइब किए गए कार्यक्रम ट्रिगर हो जाते हैं।
स्रोत
2013-07-24 19:57:54
परिवर्तन_ क्रियाएं कार्यों की एक सरणी होनी चाहिए। सादे जेएस में, यह काम करता है: फ़ंक्शन लागू (v) {इसे वापस करें (v);} [1,2,3] .map (लागू करें, RegExp); – dandavis
कॉलबैक बॉडी में 'console.log (this)' या 'console.dir (this) 'जोड़ें और देखें कि यह' क्या 'संदर्भित करता है। – fardjad
$ .each() फ़ंक्शन का उपयोग किसी संग्रह पर पुनरावृत्त करने के लिए किया जा सकता है, चाहे वह ऑब्जेक्ट या सरणी हो। किसी सरणी के मामले में, कॉलबैक प्रत्येक सरणी अनुक्रमणिका और प्रत्येक बार एक संबंधित सरणी मान पास किया जाता है। (इस कीवर्ड के माध्यम से मूल्य भी एक्सेस किया जा सकता है ...): http://api.jquery.com/jQuery.each/ – svillamayor