Ответ 1
Нет никакой разницы. Если вы прочитали документы для .click
, вы увидите следующую строку:
Этот метод является ярлыком для .bind('click', обработчик)
Вы можете подтвердить это, быстро взглянув на источник jQuery:
function (data, fn) {
if (fn == null) {
fn = data;
data = null;
}
//Notice the call to bind on the following line...
return arguments.length > 0 ? this.bind(name, data, fn) : this.trigger(name);
}
Я стараюсь использовать .click
над .bind
, просто потому, что быстрее писать. Тем не менее, .bind
может использоваться для присоединения одного и того же прослушивателя к нескольким событиям, поэтому он полезен в этом случае:
$("#something").bind("click mouseover", function() {
//Do stuff
});
Чтобы расширить комментарий @Tomalak, .bind
также полезен при работе с настраиваемыми событиями. Для почти любого другого события существует метод быстрого доступа, как и .click
. Источник jQuery выглядит следующим образом:
jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
"change select submit keydown keypress keyup error").split(" "), function( i, name ) {
/*Call .bind for the respective event. There is a shortcut method
for each of the events listed above*/
});