【JavaScript】「Passive Event Listener」が使用できるか判断する値を取得する関数
スクロールイベントを登録する際に、「Passive Event Listener」が使用できるかどうかによりaddEventListener関数の第3引数を変更する必要があったので作成した。
コード
function canUsePassive() {
let canUsePassive = false;
const PROPERTY = { get: function() { canUsePassive = true; } };
const OPTIONS = Object.defineProperty( {}, 'passive', PROPERTY );
window.addEventListener( 'dummy', null, OPTIONS );
return canUsePassive;
}
使用例
const OPTION = canUsePassive() ? { passive: true } : false;
window.addEventListener( 'scroll', function() { /* 処理 */ }, OPTION );