की एक कॉलबैक के लिए एक विशिष्ट सरणी तत्व पारित करने के लिएमैं कैसे वस्तुओं की एक सरणी है कि हर "actionButton" आईडी, चयनकर्ता और कॉलबैक धारण घटना
var actionButtons = [
{
id:"0",
selector:"._55ln._qhr",
callback: undefined
},
{
id:"1",
selector:"._22aq._jhr",
callback: undefined
},
.
.
.
];
मुझे क्या करना कोशिश कर रहा हूँ एक समारोह बुला है जब भी कोई चयनकर्ता क्लिक किया जाता है तो सरणी (आईडी) से एक विशिष्ट पैरामीटर के साथ।
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);
});
}
लेकिन यह कोड काम नहीं कर रहा है; ऐसा लगता है कि जब भी कॉलबैक फ़ंक्शन को i
का मान कहा जाता है तो सरणी आकार के बराबर होता है।
मैं इस समस्या को कैसे हल कर सकता हूं; यानी। परिवर्तनीय i
का मान प्रत्येक कॉलबैक के लिए अलग हो जाता है।
की संभावित डुप्लिकेट जैसी सरणी तरीकों का उपयोग कर सकते हैं आदेश नहीं में [जावास्क्रिप्ट बंद अंदर लूप - सरल व्यावहारिक उदाहरण] (https://stackoverflow.com/ प्रश्न/750,486/जावास्क्रिप्ट-बंद-अंदर-छोरों-सरल-व्यावहारिक-उदाहरण) –