test ということで以下すべて gist から転載。
IE(Windows?)がマウスホイールでスクロールした時動きがきもいので
マウスホイールとスクロールバーを事業仕分け
mousewheel → scroll の順にイベントが発生しているようなので
mousewheel 中にフラグを持たせとくだけの簡単なお仕事
制作案件中の Coffee の一部抜きだし単体でのテストはしてないお。
あくまで理屈だけ…ということでここはひとつ
test.coffee
do(window)->
win = window
useMouseWheel = false
###
スクロールイベントをりすん
###
win.onscroll = (event)->
scroll(event)
###
マウスホイールイベントをリスン
firefox対策
###
if typeof(win.onmousewheel) isnt 'undefined'
win.onmousewheel = (event)->
wheel(event)
else
win.addEventListener(
'DOMMouseScroll',
(event)->
wheel(event)
, false )
###スクロールバーでのスクロールイベント###
scroll = (event)->
###マウスホイールによって発生した場合処理をしない###
if useMouseWheel is true
console.log "do mouse Wheel"
#フラグだけ戻して処理を終了
useMouseWheel = false
return
console.log "scrollbaaaaaaaaaaaaaaa"
return
###マウスホイールでのスクロールイベント###
wheel = (event)->
useMouseWheel = true
###do something mouseWheel Event###
console.log "mouse wheeeeeeeeeeeeeel"
###
あとは投げっぱなしジャーマン
###
return
return