2011-08-23 15 views
16

क्यों jQuery इवेंट मॉडल ईवेंट कैप्चर का समर्थन नहीं करता है और केवल ईवेंट बबलिंग का समर्थन करता है?jQuery इवेंट मॉडल इवेंट कैप्चर का समर्थन क्यों नहीं करता है और केवल इवेंट बबलिंग का समर्थन करता है

उत्तर

11

क्योंकि सभी ब्राउज़र ईवेंट कैप्चरिंग का समर्थन नहीं करते हैं, खासकर आईई। चूंकि jQuery को क्रॉस-ब्राउज़र संगत माना जाता है, यह ईवेंट कैप्चरिंग की पेशकश नहीं कर सकता है (ईवेंट कैप्चरिंग को अनुकरण करना संभव हो सकता है, लेकिन यदि यह आसान था, तो मुझे यकीन है कि वे इसे कर चुके होंगे)।

+0

http://censore.blogspot.in/2014/09/js-event-bubbling-vs-event-capturing.html – biplav

+7

IMHO, jQuery 2.x यह –

+2

का समर्थन करना चाहिए है कि कुछ का समर्थन न करने का एक बहुत बुरा कारण। कम से कम उपयोगकर्ता को चुनने की शक्ति दें। मुझे लगता है कि इवेंटस्पेसिंग की शक्ति jQuery के साथ बहुत सुविधाजनक है और मूल जेएस के साथ नहीं। – vsync

5

यह वास्तव में jQuery 2 में एक वांछनीय विशेषता थी लेकिन कोर-टीम बहुत अधिक आश्वस्त थी कि पूरे jQuery ईवेंट सिस्टम में घटनाओं को कैप्चर करने की इजाजत देने से पूरी तरह से कई मुद्दों को खुल जाएगा। मूल टिकट यहां पाया जा सकता है [1]। उन्होंने कुछ चर्चाओं के बाद भी टिकट बंद कर दिया।

इसके अलावा, आईई 8 और ओपेरा 7.0 के पुराने ब्राउज़र ईवेंट इवेंट कैप्चरिंग का समर्थन नहीं करते हैं। चूंकि jQuery का प्राथमिक लक्ष्य क्रॉस-ब्राउज़र समर्थन प्रदान करना है, यह ईवेंट कैप्चरिंग का समर्थन नहीं करता है।

एक हल्का नोट पर, ऐसा लगता है कि jQuery इवेंट प्रतिनिधिमंडल का लाभ उठाने के लिए अधिक केंद्रित है जो डीओएम पेड़ तक की घटनाओं पर बुलबुले पर आधारित है।

[1] http://bugs.jquery.com/ticket/14953

+1

jquery 2.0 का पूरा बिंदु पुराने ब्राउज़र के लिए समर्थन छोड़ना है, इसलिए पुराने कैप्चरिंग इवेंट कैप्चरिंग का समर्थन नहीं कर रहे पुराने ब्राउज़र कम से कम jquery 2 के लिए अवरोधक नहीं होना चाहिए। – Jens

संबंधित मुद्दे