Комментарии
Только сегодня нашел его в документации и не нашел на хабре статьи о таком полезном объекте, и тут ваша статья. Спасибо.
А можно где-то посмотреть пример использования? Не развлечение с foo-bar'ами, а более или менее реальную задачу, в которой потребовался бы такой объект?
Любой пример с $.Deferred — это пример с $.Callbacks, т.к. первый основан на втором, а любой пример с $.ajax — это пример с $.Deferred :)
Чисто субъективно, почему-то не хочется пользоваться ни Deferred, ни Callbacks в jQuery. На мой взгляд это необоснованное увеличение библиотеки, которая выигрывает у конкурентов как наиболее простой DOM-манипулятор.

Кажется настало время серьезно посмотреть в сторону Prototype
всегда можно остановится и использовать версию 1.6 в своих проектах
Никакой это не «наиболее простой DOM-манипулятор». Это уже давно весьма универсальная библиотека. На самом деле Deferred и Callbacks — это не так уж много лишнего кода. Если уж говорить о лишнем коде, то хотелось бы иметь версию jQ без поддержки старых браузеров IE 6-7.

О Deferred и говорить нечего: очень часто облегчает жизнь. А Callback — уж если используется в коде самой jQ, почему бы и не вынести «наружу».

Хотите простой DOM-манипулятор, возьмите AtomJS, например.
Кажется, там только отбирать элементы можно — манипулировать нельзя :)
Хотите простой DOM-манипулятор, возьмите AtomJS, например.

Меня вдохновляют такие сообщения =)
Ну а что, если взять только с плагином DOM, как я понял, то, получится как-раз DOM-манипулятор, весящий в десятки раз меньше jQuery :)
Ну я знал, кто автор. Как же Вас не узнать то :)

P.S. Фреймворк действительно клевый. Правда активно использовать еще не доводилось, но по описанию мне нравится. Вот jQuery как-раз не хватает такой модульности, имхо.
кажется, в последнее время разработчики jQuery занимаются тем, что переписывают функционал Dojo на свой лад
Мне кажется, что в вашей статье не хватает живого реального примера странички с такой функциональностью, где требуется этот новый объект. Ваши примеры какие-то слишком академические.
Не спорю. Примеры брал из оф. доков, немного поправив для большей наглядности. Просто «на страничке» пример, скорее всего не придумать. Эта функциональность может потребоваться при написании собственных компонент или виджетов, но не при каких-то элементарных операциях с DOM.
По своему предназначению это тот же MooTools.Class.Events, просто реализован не как примесь, а как делегат (а в этом что-то есть на самом деле). В мощных приложениях (не 200 строк мелкого кода на jQuery, а реально мощных, например игры) или в библиотеках данная функциональность очень полезна. Когда вы захотите сделать свой плагин для JQuery с большим количеством событий — вы сразу поймёте в чём прелесть кода из топика.
Я не совсем согласен с вашим UPD. То, что это часть $.ajax — никто не спорит. Имхо, людей интересует, как можно этот код применить на практике в своём проекте или плагине. А согласно upd можно посчитать, что смысла изучать этот кусок нету, ведь всё равно оно абстрагированно внутри ajax.
Я согласен, что людей должно интересовать, как это применить с пользой для себя (своих проектов). Мой UPD — это, в первую очередь, ответ тем, кто говорит, что разработчики беспричинно утежеляют вес библиотеки, добавляя сомнительные фичеры в код. Вот я и постарался объяснить, эти фичеры добавляют не просто так, как лишний код, а оптимизируют уже существующий код — т.о. вес библиотеки от них не сильно прибавляется, а пользы может оказаться уйма.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.