wheelイベントが返すdeltaY値のブラウザ別挙動
1697 ワード
wheel
イベントが返す event.deltaY
の値が、ブラウザによって割と異なっていたという話です。
el.addEventListener('wheel', function(event) {
console.log(event.deltaY); // この値
});
実際に手動で心をこめて動かした結果を元にしており、何か間違っていたらすみません。
Chrome
- 値は必ず 0 から始まり、0 で終了する
- e.g.
[0, 1, 3, 5, 7, 8, 6, 0]
- スクロール方向に可動幅がない場合も、ホイールに掛かった慣性通りにイベントが発火する
IE10, IE11
- 値は必ず 0 以外から始まり、0 以外で終了する
- 値には小数点以下が含まれる
- e.g. [1.11, 3.33, 5.55, 7.77, 8.88, 6.66]
- スクロール方向に可動幅がない場合も、ホイールに掛かった慣性通りにイベントが発火する(Chromeと同じ)
- 下スクロールを行った時に、数値にマイナス(=本来と逆の値)が含まれることがある
- 上方向は試してないけど、多分発生するのではないか
Safari
- 値は必ず 0 以外から始まり、0 以外で終了する
- e.g.
[1, 3, 5, 7, 8, 6]
- スクロール方向に可動幅がない場合は、1イベントしか発火しない
Firefox
担当サービスでシェアが5%くらいだったので調べませんでした
Author And Source
この問題について(wheelイベントが返すdeltaY値のブラウザ別挙動), 我々は、より多くの情報をここで見つけました https://qiita.com/kjirou/items/6dafb885746c5179bbb8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .