רכיבי listener פסיביים הם תקן אינטרנט חדש שמופיע ב-Chrome 51, והם יכולים לשפר משמעותית את ביצועי הגלילה, במיוחד בניידים. בסרטון הבא אפשר לראות הדגמה של השיפורים בפעולה:
איך זה עובד
כשגוללים בדף ויש עיכוב כה גדול שהדף לא מרגיש מקובע לאצבע, זה נקרא תנודות גלילה. במקרים רבים, כשנתקלים בתנועה קטועה בזמן גלילה, הגורם לכך הוא מאזין לאירועי מגע. לרוב, מאזינים לאירועי מגע שימושיים למעקב אחר אינטראקציות של משתמשים וליצור חוויות גלילה בהתאמה אישית, כמו ביטול הגלילה לגמרי כשמבצעים אינטראקציה עם מפה מוטמעת של Google.
נכון לעכשיו, הדפדפנים לא יכולים לדעת אם מאזין לאירועי מגע יבטל את הגלילה, ולכן הם תמיד ממתינים לסיום הפעילות של המאזין לפני שהם גוללים בדף.
כדי לפתור את הבעיה הזו, אפשר להשתמש ב-passive event listeners שמאפשרים להגדיר דגל בפרמטר options של addEventListener כדי לציין שה-listener לעולם לא יבטל את הגלילה. המידע הזה מאפשר לדפדפנים לגלול בדף באופן מיידי, ולא אחרי שהמאזין מסיים.
מידע נוסף
בבלוג של Chromium יש סקירה כללית על האופן שבו פונקציות passive event listener פועלות:
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2016-06-05 (שעון UTC)."],[],[]]