टच और व्हील इवेंट लिसनर, उपयोगकर्ता के इंटरैक्शन को ट्रैक करने और कस्टम स्क्रोलिंग अनुभव बनाने के लिए काम के होते हैं. हालांकि, इनकी वजह से पेज स्क्रोल होने में देरी हो सकती है. फ़िलहाल, ब्राउज़र को यह पता नहीं चल सकता कि इवेंट लिसनर, स्क्रोल करना बंद करेगा या नहीं, इसलिए वे हमेशा पेज को स्क्रोल करने से पहले, ऑडियंस के एक्ज़ीक्यूट खत्म होने का इंतज़ार करते हैं. पैसिव इवेंट लिसनर इस समस्या को हल करने के लिए, आपको संकेत देने की अनुमति देते हैं कि इवेंट लिसनर कभी भी स्क्रोल करने से नहीं रोकेगा.
ब्राउज़र के साथ काम करना
ज़्यादातर ब्राउज़र, पैसिव इवेंट लिसनर के साथ काम करते हैं. अलग-अलग ब्राउज़र पर साइट की जांच करना देखें
लाइटहाउस पैसिव इवेंट लिसनर का ऑडिट कैसे फ़ेल हो जाता है
लाइटहाउस इवेंट लिसनर को फ़्लैग करता है, जिससे पेज स्क्रोल करने में देरी हो सकती है:

Lighthouse, इवेंट लिसनर की पहचान करने के लिए इस प्रोसेस का इस्तेमाल करता है, ताकि स्क्रोल करने की परफ़ॉर्मेंस पर असर पड़ने से रोका जा सके:
- पेज पर मौजूद सभी इवेंट लिसनर इकट्ठा करें.
- नॉन-टच और नॉन-व्हील लिसनर को फ़िल्टर करें.
preventDefault()
को कॉल करने वाले दर्शकों को फ़िल्टर करें.- उन दर्शकों को फ़िल्टर करें जो पेज के होस्ट से अलग होस्ट से जुड़े हैं.
Lighthouse, अलग-अलग होस्ट से सुनने वालों को फ़िल्टर कर देता है, क्योंकि हो सकता है कि आपके पास इन स्क्रिप्ट को कंट्रोल करने का विकल्प न हो. तीसरे पक्ष की स्क्रिप्ट, आपके पेज की स्क्रोलिंग परफ़ॉर्मेंस को नुकसान पहुंचा सकती हैं. हालांकि, ये आपकी लाइटहाउस रिपोर्ट में शामिल नहीं होते.
स्क्रोल परफ़ॉर्मेंस को बेहतर बनाने के लिए, इवेंट लिसनर को पैसिव कैसे बनाएं
लाइटहाउस की पहचान करने वाले हर इवेंट लिसनर के लिए passive
फ़्लैग जोड़ें.
अगर आपको सिर्फ़ उन ब्राउज़र के साथ काम करना है जिनमें पैसिव इवेंट लिसनर की सुविधा है, तो सिर्फ़ फ़्लैग जोड़ें. उदाहरण के लिए:
document.addEventListener('touchstart', onTouchStart, {passive: true});
अगर पुराने ब्राउज़र जो पैसिव इवेंट लिसनर के साथ काम नहीं करते, तो आपको सुविधा की पहचान या पॉलीफ़िल का इस्तेमाल करना होगा. ज़्यादा जानकारी के लिए, WICG के पैसिव इवेंट लिसनर के बारे में बताने वाले दस्तावेज़ में, सुविधा का पता लगाना सेक्शन देखें.