タッチイベントやホイールイベントのリスナーはページのスクロールを遅らせ可能性がある
スクロールした際のパフォーマンスが悪い場合passive:true
をつけると良いことを知った
ブラウザーはイベントリスナーがスクロールを妨げるかどうかを認識できず、ページをスクロールする前に常にリスナーの実行が完了するのを待つ
この時passive:true
をつけておくと、ブラウザは画面描写とリスナー内の関数の実行を分離し、スクロールを妨げないようにする
実装は以下のような感じ
document.addEventListener('touchstart', onTouchStart, {passive: true});
Jxckさんの記事でscrollTop
などを用いて測定するような場面ではIntersection Observer
が適切かもと言う話
知らなかったので次回調べるみる