निम्नलिखित वेब पेज पर विचार करने के लिए एक Onscroll हैंडलर संलग्न के बिना एक पृष्ठ पर सभी स्क्रॉल घटनाओं पर कब्जा करने की:कैसे हर एक कंटेनर
<html>
<body onscroll="alert('body scroll event')">
<div style='width:200px;height:200px;overflow:auto' onscroll="alert('div scroll event')">
<div style='height:400px'>
</div>
</div>
</body>
</html>
यह एचटीएमएल एक स्क्रॉलबार साथ एक div पैदा करता है। यदि आप स्क्रॉलबार को ले जाते हैं, तो div तत्व पर "ऑनस्क्रॉल" ईवेंट ट्रिगर होता है। हालांकि, शरीर पर "ऑनस्कोल" घटना नहीं निकाल दी जाती है। इसकी अपेक्षा की जाती है, क्योंकि डब्ल्यू 3 सी कहता है कि तत्व ऑनस्कोल घटनाएं "बबल" नहीं होती हैं।
हालांकि, मैं एक क्लाइंट-साइड वेब फ्रेमवर्क विकसित कर रहा हूं जिसे किसी भी समय पृष्ठ के किसी भी तत्व पर स्क्रॉल बार स्क्रॉल करने की आवश्यकता है। अगर "ऑनस्कोल" बुलबुले हो तो यह करना आसान होगा, लेकिन दुर्भाग्यवश यह नहीं है। क्या पूरे पृष्ठ पर ऑनस्कोल ईवेंट का पता लगाने का कोई और तरीका है? (अभी मैं मुख्य रूप से वेबकिट पर ध्यान केंद्रित कर रहा हूं, इसलिए एक वेबकिट-विशिष्ट समाधान ठीक होगा ...)
यहां कुछ चीजें हैं जिनकी मैंने कोशिश की है: 1. DOMAttrModified को कैप्चर करना (ऐसा लगता है कि आग लगती नहीं है चलती स्क्रॉलबार।) 2. डोम पर्यवेक्षकों का उपयोग करना (भी स्क्रॉलबार के लिए आग नहीं लग रहे) 3. बुलबुला करने के लिए "Onscroll" घटना प्रकार में परिवर्तन करना (संभव नहीं हो रहा है)
यह एकमात्र तरीका लगता है दुनिया भर में ऑनस्क्रॉल घटनाओं को कैप्चर करना प्रत्येक तत्व पर ऑनस्कोल ईवेंट संलग्न करना है जो स्क्रॉल कर सकता है, जो बहुत बदसूरत है और मेरे ढांचे के प्रदर्शन को चोट पहुंचाने वाला है।
कोई भी बेहतर तरीका जानता है?
अग्रिम धन्यवाद!
window.onscroll काम नहीं किया? – JustinDanielson