Translate js to coffeescript
Use jQuery#on for delegation of events

jQuery#on lets you capture events on a parent element for a specific
selector, instead of binding a different event for each element. This is
better for two reasons:

  1) on large applications, you conserve memory (and prevent leaks) by
not having a ton of events

  2) when you add elements to a list dynamically, you don't have to
refresh the event listeners