「JavaScript IE ‘onwheel’ in document 判定」でお困りの方へ

ホイール系のイベントについて調べる時、「ホイール系イベント2014年版クロスブラウザ」の記事をよく見かけますが、こちらの記事にある

var mousewheelevent = 'onwheel' in document ? 'wheel' : 'onmousewheel' in document ? 'mousewheel' : 'DOMMouseScroll';

ですが、wheelイベント対応済であるIE9以降でも document に onwheel が無いようですので、例えば以下のようなコードだと IE9〜で false が返ります。

console.log('onwheel' in document) //wheel対応済のIE9以降で false

まぁ onmousewheel があるからいいんだけどね!とも思いますが、jquery.mousewheel.js を見た感じ、「document.documentMode」で判定しているらしいので、

console.log('onwheel' in document || document.documentMode >= 9)

とすると良いみたいです。ただ、Firefoxだとホイール量が少なかったり、Windows 8 や Windows 10 でタッチ操作した時の値と差異があってカオスなので、個人的には、

var mousewheelevent = 'MouseScrollEvent' in window ? 'MozMousePixelScroll' : 'onwheel' in document || document.documentMode >= 9 ? 'wheel' : 'mousewheel';

とした方が取り急ぎ安全かなとは思っています。