का उपयोग करते समय काम नहीं कर रहा है। मैं एक इंटरमीडिएट फ्रंट एंड जेएस डेवलपर हूं और मैं क्रिस कोयियर here द्वारा उल्लिखित मॉड्यूल पैटर्न का प्रयास कर रहा हूं।jQuery क्लिक ईवेंट "मॉड्यूल पैटर्न"
लेकिन जब मैं सेटिंग्स में एक jQuery चयनकर्ता संग्रहीत करता हूं, तो मैं एक क्लिक ईवेंट ट्रिगर करने के लिए इसका उपयोग करने में असमर्थ हूं। मेरी टिप्पणियों के साथ नीचे कोड देखें ... किसी भी मदद की बहुत सराहना की है!
var s,
TestWidget = {
settings: {
testButton: $("#testing")
},
init: function() {
s = this.settings;
this.bindUIActions();
},
bindUIActions: function() {
console.log(s.testButton); // This works: [context: document, selector: "#testing", constructor: function, init: function, selector: ""…]
//This doesn't work - why?????
s.testButton.click(function() {
//Why isn't this triggered?
alert('testButton clicked');
});
/*This works, obviously:
$('#testing').click(function() {
alert('testButton clicked');
});
*/
}
};
$(document).ready(function() {
TestWidget.init();
});
+1 "पैटर्न का उपयोग करने" के लिए +1 – Bergi
मुझे लगता है कि ओप पैटर्न को समझने के लिए सीएसएस चाल पर उदाहरण का पालन कर रहा था। शायद हाथ में एक बड़ा काम है? यदि उद्देश्य मॉड्यूलरलाइजेशन के माध्यम से encapsulation को समझना है, तो मैं addy osmani द्वारा डिजाइन पैटर्न पढ़ने की सलाह देते हैं। – stavarotti
सभी सामग्री के बाद, पृष्ठ के निचले हिस्से में स्क्रिप्ट ब्लॉक रखकर, इस समस्या का समाधान होगा। इससे कोड को पूरी तरह से मॉड्यूल के भीतर रखा जा सकेगा, जिसमें वैश्विक नामस्थान के लिए कोई रिसाव नहीं होगा। –