Как стать автором
Обновить

Комментарии 24

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

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

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

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

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

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

Публикации

Истории