पहला सवाल enclosing में एक चर को संदर्भित करता है :) आशा है मैं अपने आप को शर्मिंदा नहीं होगा ...जावास्क्रिप्ट गुंजाइश समस्या है जब लैम्ब्डा समारोह stackoverflow पर पाश
मैं एक जावास्क्रिप्ट समारोह है कि एलबम की एक सूची लोड और फिर है यह प्रत्येक एल्बम के लिए एक सूची आइटम बनाता है। सूची आइटम क्लिक करने योग्य होना चाहिए, इसलिए मैं एक फ़ंक्शन के साथ jQuery के क्लिक() को कॉल करता हूं जो सामान करता है। मैं इसे एक लूप में करता हूँ। मेरी समस्या यह है कि सभी वस्तुओं को एक ही क्लिक फ़ंक्शन मिलते हैं, भले ही मैं एक नया ऐसा करने की कोशिश करता हूं जो प्रत्येक पुनरावृत्ति में अलग-अलग चीजें करता है। एक और संभावना यह है कि पुनरावृत्ति चर किसी भी तरह वैश्विक है, और समारोह इसे संदर्भित करता है। नीचे कोड डीबग() फायरबग के कंसोल का एक encapsulation है .debug()।
function processAlbumList(data, c) {
for (var album in data) {
var newAlbum = $('<li class="albumLoader">' + data[album].title + '</li>').clone();
var clickAlbum = function() {
debug("contents: " + album);
};
debug("Album: " + album + "/" + data[album].title);
$('.albumlist').append(newAlbum);
$(newAlbum).click(clickAlbum);
}
}
यहाँ यह क्या प्रिंट की एक प्रतिलिपि जब ऊपर समारोह, चलाता है कि उसके बाद कुछ डिबग से मुझे अलग आइटम पर क्लिक वजह से लाइनें हैं है। यह हमेशा "10" प्रिंट करता है, जो एल्बम वैरिएबल लेता है (10 एल्बम हैं) का आखिरी मूल्य है।
Album: 0/Live on radio.electro-music.com
Album: 1/Doodles
Album: 2/Misc Stuff
Album: 3/Drawer Collection
Album: 4/Misc Electronic Stuff
Album: 5/Odds & Ends
Album: 6/Tumbler
Album: 7/Bakelit 32
Album: 8/Film
Album: 9/Bakelit
Album: 10/Slow Zoom/Atomic Heart
contents: 10
contents: 10
contents: 10
contents: 10
contents: 10
कोई विचार? दीवार को मुझे ड्राइविंग, यह है। :)
/स्टीफन
देखें: http://stackoverflow.com/questions/1734749/ http://stackoverflow.com/questions/643542/ http://stackoverflow.com/questions/1582634/ http://stackoverflow.com/questions/1331769/ http://stackoverflow.com/questions/1552941/ http://stackoverflow.com/questions/750486/ http://stackoverflow.com/questions/933343/ http://stackoverflow.com/questions/1579978/ http://stackoverflow.com/questions/14139 16/ – CMS
@ सीएमएस - वाह, क्या आप बस उन्हें इकट्ठा करते हैं? – harpo
@harpo, हाँ, मैं एक ही प्रश्न का जवाब देने के थक गया ... :) – CMS