2013-10-04 45 views
0

如何重構我的代碼?Coffeescript重構爲dsl

$(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) 

回答

1

這是怎麼回事?

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" 
...