Ответ 1
Функциональной разницы нет. jQuery официально устарел на все синтаксисы привязки, отличные от .on
. Поскольку jqlite angular.element
основан на jQuery, они перевели синтаксис на .on
inorder, чтобы быть более совместимым для тех, кто использует jQuery и Angular вместе. jqlite по-прежнему позволяет .bind
быть обратно совместимым (как и jQuery).
Вы можете узнать больше о различиях здесь: jquery.bind() vs..on()