Добавлю к вышесказанному. on может выполнять то, что выполняют остальные функции.
обычный клик мышью
$el.click(function(e) { }) == $el.on('click', function(e) { });
$el.bind('click', function(e) { }) == $el.on('click', function(e) { });
множественное событие.
$el.bind('keyup keypress blur change', function(e) { }) == $el.on('keyup keypress blur change', function(e) { });
live событие.
live используется тогда, когда нужно назначить событие на элемент, которого еще не существует, или он будет удаляться и потом опять создаваться.
jQuery('.el').live('click', function(e) { }) == jQuery(document).on('click', '.el', function(e) { });