You are missing the selector in the .on
function:
.on(eventType, selector, function)
This selector is very important!
http://api.jquery.com/on/
If new HTML is being injected into the page, select the elements and
attach event handlers after the new HTML is placed into the page. Or,
use delegated events to attach an event handler
See jQuery 1.9 .live() is not a function for more details.