- Where Developers Learn, Share, & Build Careers
निम्न वेब पेज पर विचार करें:
& lt; html & gt; & Lt; body onscroll = "चेतावनी ('शरीर स्क्रॉल ईवेंट')" & gt; & Lt; div शैली = 'चौड़ाई: 200px; ऊंचाई: 200px; अतिप्रवाह: ऑटो' ऑनसक्रोल = 'सतर्क (' डिवेल स्क्रॉल इवेंट ') "& gt; & Lt; div शैली = 'ऊंचाई: 400px' & gt; & Lt; / div & gt; & Lt; / div & gt; & Lt; / body & gt; & Lt; / html & gt; यह HTML एक स्क्रॉलबार के साथ एक div बनाता है यदि आप स्क्रॉलबार को स्थानांतरित करते हैं, तो div तत्व पर "ऑनस्क्रोल" ईवेंट ट्रिगर होता है। हालांकि, शरीर पर "ऑन्स्कलोल" का आयोजन नहीं किया जाता है। ऐसा अपेक्षित है, क्योंकि डब्ल्यू 3 सी बताता है कि तत्व परस्पर इवेंट "बबल" नहीं करते हैं।
हालांकि, मैं क्लाइंट-साइड वेब फ्रेमवर्क विकसित कर रहा हूं जिसे किसी भी समय किसी भी तत्व पर एक स्क्रॉल बार पृष्ठ स्क्रॉल किया गया है यह करना आसान होगा यदि "ओन्स्कलोल" बब्डल हो, लेकिन दुर्भाग्यवश यह नहीं है। क्या एक पूरे पृष्ठ पर ओस्कक्रोल ईवेंट का पता लगाने का कोई अन्य तरीका है? (अभी मैं वेबकिट पर मुख्य रूप से ध्यान केंद्रित कर रहा हूं, इसलिए वेबकिट-विशिष्ट समाधान ठीक होगा ...)
यहां कुछ चीजें जो मैंने कोशिश की हैं: 1. DOMAttrModified कैप्चरिंग (ऐसा प्रतीत नहीं होता है बढ़ते स्क्रोलबारों के लिए आग।) 2. डोम पर्यवेक्षकों का उपयोग करना (स्क्रॉलबार के लिए भी आग लगती नहीं है) 3. "ऑनस्कॉल" ईवेंट प्रकार को बबल में बदलना (संभव नहीं लगता है)
ऐसा लगता है ओएसस्कोल की घटनाओं को विश्व स्तर पर कैद करने का एकमात्र तरीका है एक ऑन्सक्रॉल इवेंट जो कि स्क्रॉल कर सकता है, जो कि बहुत बुरी है और मेरे ढांचे के प्रदर्शन को चोट पहुँचा रहा है।
कोई भी बेहतर तरीके से पता है?
अग्रिम धन्यवाद!
आधुनिक ब्राउज़र में सभी स्क्रॉल इवेंट का पता लगाने का सबसे सरल तरीका
window.addEventListener ('scroll', फ़ंक्शन () {कोड यहाँ जाता है}, सच है) Pre> दुर्भाग्य से मुझे पता है कि पुराने ब्राउज़र में कोई समानता नहीं है जैसे कि & lt; = IE8
Comments
Post a Comment