प्रभाव वही होगा, लेकिन जिस तरह से ईवेंट हैंडलर को ईवेंट दिया जा रहा है वह थोड़ा अलग है।
आप प्रत्येक मामले में .on()
का उपयोग कर रहे हैं, लेकिन चयनकर्ता का उपयोग दूसरे संस्करण में नहीं किया जा रहा है। घटना पहले उदाहरण में का प्रतिनिधि है और दूसरे में सीधे बाध्य है।.on()
प्रलेखन राज्यों:
प्रत्यक्ष घटनाओं के लिए,
हैंडलर हर बार एक घटना चयनित तत्वों पर होता है कहा जाता है, चाहे वह तत्व या वंश (भीतरी) तत्व से बुलबुले पर सीधे होता है
के लिए सौंपी गई घटनाओं,
हैंडलर नहीं बुलाया जाता है जब घटना बाध्य तत्व पर सीधे होता है, लेकिन केवल वंश (भीतरी तत्व) कि चयनकर्ता से मेल के लिए
क्या होता है एक घटना ब्राउज़र द्वारा पता लगाया जाता है जब यह ऊपर बुलबुले DOM
। रास्ते पर प्रत्येक तत्व पर, jQuery संलग्न ईवेंट हैंडलर को कॉल करेगा। पहले संस्करण में यह घटना तत्व में उत्पन्न होने पर jQuery की जांच से पहले document
तक सभी तरह से प्रचारित होती है। दूसरा संस्करण, घटना class="wrapper1"
तत्व पर होने पर घटना पहले बुलबुल करना बंद कर देगी।
अन्य अंतर यह है कि पहले संस्करण अभी भी अगर .wrapper1
मौजूद नहीं है जब पेज, लोड हो जाए, यानी अगर तत्व गतिशील रूप से जोड़ा जाता है दूसरा संस्करण काम नहीं करेगा ईवेंट हैंडलर बाध्य करने में सक्षम हो जाएगा है। जब पृष्ठ लोड होता है और jQuery को $('.wrapper1')
निष्पादित नहीं किया जा सकता है।
यदि .wrapper1
तत्व गतिशील नहीं हैं तो आपको शायद दूसरे संस्करण का उपयोग करने का एक (नगण्य) प्रदर्शन लाभ मिलेगा।
यह सब एक तरफ, scroll
event does not bubble और प्रतिनिधि नहीं दिया जा सकता है। हालांकि, वे .on()
प्रलेखन से फिर प्रत्यायोजित किया जा सकता:
सभी ब्राउज़रों में, भार, पुस्तक, और त्रुटि की घटनाओं (जैसे, एक तत्व पर) बुलबुला नहीं है। इंटरनेट एक्सप्लोरर 8 और निचले हिस्से में, पेस्ट और रीसेट ईवेंट बबल नहीं करते हैं। ऐसी घटनाएं प्रतिनिधिमंडल के उपयोग के लिए समर्थित नहीं हैं, लेकिन इनका उपयोग तब किया जा सकता है जब ईवेंट हैंडलर सीधे उत्पन्न करने वाले तत्व से जुड़ा होता है।
तो काम करने वाला एकमात्र संस्करण दूसरा है! DevTools कंसोल में See demodocument scroll
आउटपुट कभी प्रकट नहीं होता है।
तो आपके [अन्य प्रश्न] (http://stackoverflow.com/questions/16057384/scroll-in-not-working-in-jquery-for- गतिशील-elements) से निम्नलिखित ... – andyb
मैंने अपडेट किया है 'स्क्रॉल' घटना के बारे में बयान को सही करने का मेरा जवाब – andyb