2011-10-18 17 views
10

किसी भी घटना के लिए false करने के लिए event.bubbles के बीच का अंतर है, और event.stopPropagation() या stopImmediatePropagation() सेट करते समय घटना से निपटने के क्या है?घटना बुदबुदाती, और बंद करो प्रचार

मैं एएस 3 के साथ फ्लेक्स 4 का उपयोग कर रहा हूं।

उत्तर

18

bubbles से false पर सेट करना मतलब है कि यह ईवेंट डिस्प्ले सूची को बिल्कुल बुलबुला नहीं करता है।

stopPropagation() और stopImmediatePropagation() वर्तमान ईवेंट श्रोता को किसी ईवेंट को संसाधित करने के लिए अंतिम बनाते हैं।

stopPropagation() और stopImmediatePropagation() के बीच अंतर यह है कि stopImmediatePropagation() केवल अगले नोड में जाने से घटना पर रोक नहीं लगेगी, लेकिन यह भी उनके घटनाओं पर कब्जा करने से उस नोड पर किसी भी अन्य श्रोताओं को रोकने जाएगा। उदाहरण को

3

देखो:

object.addEventListener(MouseEvent.CLICK, functionOne); 

object.addEventListener(MouseEvent.CLICK, functionTwo); 

तो functionOneevent.stopPropagation() होता है, functionTwo रूप में अच्छी तरह बुलाया जाएगा। यदि इसमें event.stopImmediatePropagation() है, functionTwo को अनदेखा किया जाएगा।

33

इस आलेख में मिली जानकारी - Introduction to event handling in ActionScript 3.0 अधिक प्रदर्शनशील और समझने में आसान है। यह @ जेसन स्टर्ग द्वारा उपर्युक्त स्वीकृत उत्तर को बढ़ाएगा।

इवेंट बबलिंग और इवेंट कैप्चरिंग घटनाओं के दो चेहरे हैं। यदि आप ईवेंट बनाते हैं। बुलबुले को झूठ बोलने का मतलब है कि घटना को गैर-बुलबुले घटना के रूप में चिह्नित किया गया है।

बुलबुले: यह दर्शाता है या नहीं, घटना एक घटना बुलबुले कि (और कैप्चर) है। इसका मतलब यह नहीं है कि घटना कैप्चर या बुलबुले चरण से गुजर रही है, बल्कि यह एक तरह की घटना है जो कर सकती है।

छवि के नीचे (उपरोक्त आलेख से) दिखाता है कि घटना प्रक्रिया के माध्यम से कैसे जाती है।

Event capturing and bubbling

stopPropagation() और stopImmediatePropagation() के अंतर छवियों निम्नलिखित में और अधिक स्पष्ट हो जाएगा।

StopPropagation:

stopPropagation

StopImmidiatePropagation:

stopImmediatePropagation

+0

अच्छा लिंक। इसके माध्यम से जाना होगा ... –

+0

अच्छा जवाब और स्रोत एडोब है। स्वीकार्य उत्तर में मदद नहीं मिली:/ – Bitterblue

+1

@BattleCity 'स्वीकृत उत्तर में मदद नहीं मिली:/अभी भी 10 अपवॉट्स हैं? ;) जब आवश्यक हो तो उसी दिन उसने उत्तर दिया। यह भी अच्छा जवाब मैंने इसे ऊपर उठाया। –

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