Coffeescript重构到dsl

Coffeescript重构到dsl,coffeescript,refactoring,Coffeescript,Refactoring,如何重构我的代码 $(document).on "change", '#q_breed_id_eq', -> window.filter(this) $(document).on "click", '#q_city_id_eq', -> window.filter(this) $(document).on "click", '#q_category_id_eq', -> window.filter(this) $(document).on "click", '

如何重构我的代码

$(document).on "change", '#q_breed_id_eq', ->
  window.filter(this)

$(document).on "click", '#q_city_id_eq', ->
  window.filter(this)

$(document).on "click", '#q_category_id_eq', ->
  window.filter(this)

$(document).on "click", '[name="q[sex_eq]"]', ->
  window.filter(this)
这个怎么样

register_event = (event, selector) ->
    $(document).on event, selector ->
        #not sure to which "this" you refer
        #it might be necessary to use => or give the
        #reference when calling it
        window.filter @

register_event "change", "q_breed_id_eq"  
register_event "click", "q_city_id_eq"  
...