По моему скромному мнению, код скриптов, написанных на jQuery порою напоминают что угодно, только не язык программирования JavaScript. Все дело в обильном применении шаблона программирования "цепь" – когда результат выполнения одной функции непосредственно передается в другую:
$('selector').click().onmouseover().onmouseout().focus();
Конечно же это дело вкуса, но лично мне такая запись не всегда нравится. James Padolsey решил немного изменить такую ситуацию, однако только в плане работы с событиями. В одной из своих статей он предложил вариант назначения обработчиков при помощи созданной им функции events:
$(elem).events({
focus : function(){...},
click : function(){...},
mouseup : function(){...},
'mousedown.namespace' : function(){...},
exit : function(){...}
});
Как по мне, такой вариант гораздо лучше читается. Хотелось бы, чтобы в jQuery появилась такая функция, тем более, что её реализация очень проста – всего 6 строк:
jQuery.fn.events = function(o){
for (var i in o) {
this.bind(i, o[i]);
}
return this;
};
