जावास्क्रिप्ट ऑब्जेक्ट्स - "इस" से कैसे जुड़ें

App.Order = {
    oForm : $('#order-form'),

    expertMode :  false,

    expertModeData : null,

    init : function() {
            $('#toggle-expert-mode').on('click', function() {
                this.switchMode();
            });
    }
}

क्लिक ईवेंट हैंडलर के अंदर मैं यह कैसे बांधूं। इवेंट श्रोता जोड़ने का यह सही तरीका भी है, मेरा मतलब है init विधि के अंदर?

App.Order.switchMode() करना समझ में नहीं आता है कि अगर मैं ऑब्जेक्ट नाम बदलता हूं तो क्या होता है?

धन्यवाद

0
@ फ़ेलिक्सक्लिंग मुझे लगता है कि आपके द्वारा उत्तर दिया गया प्रश्न एक अलग डिज़ाइन पैटर्न का उपयोग करता है .. लेकिन समझने में मदद करता है, धन्यवाद
जोड़ा लेखक user3058010, स्रोत
मैंने किसी भी डिजाइन पैटर्न का उपयोग नहीं किया। मैंने सबसे सरल उपयोग केस के साथ आने की कोशिश की (शायद मैं सफल नहीं हुआ)। मुद्दा यह है कि यह वही समस्या है और वहां दिए गए उत्तर से हल हो गई है।
जोड़ा लेखक Felix Kling, स्रोत

1 उत्तर

मैं क्लिक ईवेंट हैंडलर के अंदर बाध्य यह कैसे करूं।

सचमुच जैसा आपने कहा था। आप बांधें (यह) :

App.Order = {
   //...
    init : function() {
        $('#toggle-expert-mode').on('click', function() {
            this.switchMode();
        }.bind(this));
    }
}
2
जोड़ा
धन्यवाद। मैं कोशिश कर रहा था this.switchMode ()। बाइंड (यह)
जोड़ा लेखक user3058010, स्रोत
बीटीडब्ल्यू अब जब यह ऑब्जेक्ट को संदर्भित करता है कि इस मामले में मुझे मूल यह # टॉगल-विशेषज्ञ-मोड का संदर्भ कैसे प्राप्त किया जाए? वर्तमान में मुझे e.target || करना है e.srcElement
जोड़ा लेखक user3058010, स्रोत