LoginSignup
2
2

More than 5 years have passed since last update.

[test] スクロールイベントとマウスホイールを仕分け

Posted at

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
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2