CoffeeScriptでファットアローを使用した場合のthisについて


CoffeeScriptでファットアローを使用してthisコンテキストを維持した場合、イベントハンドラ内の関数にthisを引数として渡す方法がよく分からなかったので試してみました。
分かりづらい説明になってしまいましたので、ソースをご確認頂ければと思います。

hoge.coffee
class Hoge
  constructor: ->
    @button = document.getElementById 'button'
    @attachEvent()

  attachEvent: ->
    @button.addEventListener 'click', => # ファットアローを使用してthisコンテキストを維持
      @addClass(@) # クリックした要素を渡したいが、ここでの@はHogeを指しているため意図しない挙動になる
    , false

  addClass: (target) ->
   target.className = 'is-active'

結局、下記のようにeventオブジェクトのcurrentTargetを渡してあげる事で解決しました。

hoge.coffee
class Hoge
  constructor: ->
    @button = document.getElementById 'button'
    @attachEvent()

  attachEvent: ->
    @button.addEventListener 'click', (e) =>
      @addClass(e.currentTarget) # これでクリックした要素を渡せた
    , false

  addClass: (target) ->
   target.className = 'is-active'