No, the nice thing about using .on instead of .click is that any future element added with that selector will still get that binding. You're actually attaching the binding to the $(document) element and each time a click is registered on that element it checks to see if the element has the selector you pass as the second param and if so, runs the function. 

We can cache the $(document) element to save jQuery having to get that elements 4 times.