2012-02-02 4 views
7

पर घटनाओं की अनुमति देने के लिए Jquery का उपयोग करना मेरे पास कुछ जावास्क्रिप्ट क्लासेस (सीटीओआर + प्रोटोटाइप विधियां) हैं जो मैं चाहता हूं कि उनके उदाहरण evnets को उत्सर्जित करने में सक्षम हों।नियमित जेएस ऑब्जेक्ट्स

ताकि कोड इस वर्ग तो कुछ की तरह हो सकता है का उपयोग करते हुए:

var instance=new SomeObject(); 
instance.on('customEventName',function(event){do_stuff()} 

मैं एक jQuery वातावरण में काम कर रहा हूँ और UI तत्व के लिए मैं .trigger और .on जो मेरे लिए अच्छा काम करता है का उपयोग कर रहा है, मैं था घूमना नियमित वस्तुओं के संबंध में एक ही अनुभव को लागू करने का सबसे अच्छा तरीका होगा।

मैं या तो कस्टम इवेंट नाम के आधार पर $ .allbacks() ऑब्जेक्ट्स का मानचित्र सेट करने और ऑब्जेक्ट के प्रोटोटाइप द्वारा .on और .trigger जोड़ने के बारे में सोच रहा हूं या शायद मैं केवल एक ईवेंट पॉइंट इंस्टेंस वैरिएबल को प्रारंभ कर सकता हूं खाली $() और प्रोटोटाइप से .on और .trigger विधियों को इस घटनाओं पर निर्भर करें। ऑब्जेक्ट।

कोई अन्य/बेहतर विचार?

उत्तर

6

jQuery वास्तव में, केवल आपके द्वारा DOM तत्व के लिए होगा चाहते तो आप इस बहुत बस करने के लिए अनुमति देता है:

var instance = new SomeObject(); 
$(instance).on("customEventName", function() { 
    do_stuff(); 
}) 

// Later... 
$(instance).trigger("customEventName"); 

सभी ईवेंट हैंडलर्स jQuery के आंतरिक डेटा की दुकान में जमा हो जाती है, और jQuery एक कहते हैं उस ऑब्जेक्ट में संपत्ति जो उस स्टोर के भीतर डेटा की अनुक्रमणिका रखती है।

+2

बहुत धन्यवाद यह सब मुझे चाहिए। मैं यहां पढ़ने के बाद कभी कोशिश नहीं करता: http://api.jquery.com/Types/#jQuery कि "एक jQuery ऑब्जेक्ट में दस्तावेज़ ऑब्जेक्ट मॉडल (DOM) तत्वों का संग्रह होता है जो HTML स्ट्रिंग से बनाए गए हैं या एक दस्तावेज़ से चुना गया "'। – epeleg

+0

कोई मौका, आप जानते हैं कि अब किसी ऑब्जेक्ट से जुड़ी सभी घटनाओं को कैसे सूचीबद्ध करें? – llamerr

0

मैं रीढ़ की हड्डी का उपयोग करने का सुझाव दूंगा क्योंकि यह घटनाओं को अच्छी तरह से संभालता है और आपकी आवश्यकता में भी फिट हो सकता है।

http://backbonejs.org/#Events