Правильно используем jQuery ON

Делаю репост части статьи с харбра, к которой не раз обращался.

bind, live и delegate могли вести себя непредсказуемо при использовании вместе. Например, $(document).unbind(‘click’) убирал все live(‘click’)-события со всего документа.
Новое API событий .on() and .off() призвано как-то унифицировать систему создания обработчиков событий:

Старое API Новое API
$(elems).bind(events, fn) $(elems).on(events, fn)
$(elems).bind(events, { mydata: 42 }, fn) $(elems).on(events, { mydata: 42 }, fn)
$(elems).unbind(events, fn) $(elems).off(events, fn)
$(elems).delegate(events, selector, fn) $(elems).on(events, selector, fn)
$(elems).undelegate(events, selector, fn) $(elems).off(events, selector, fn)
$(selector).live(events, fn) $(document).on(events, selector, fn)
$(selector).die(events, fn) $(document).off(events, selector, fn)

Наследование в CanJS

Для начала скажу что CanJs, это форк от JavaScriptMVC, который был разобрал вот тут.

Так вот, разбирая наследование контроллеров во фреймворке, не сразу поняли как оно работает. Пример в официальной документации был не очевиден, а гугление не дало быстрого ответа.

Continue reading

Twitter Bootstrap быстрый старт

Перед нами стала задача определить библиотеку для создания UI на проекте. Кроме JQueryUI и Dojo появился вариант Twitter Bootstrap, который мы решили рассмотреть более подробно.

Continue reading

Разбор JavaScriptMVC

*Для тех, кто подумал что я пропустил пробел перед MVC, скажу: нет – JavaScriptMVC – это название фреймворка.

Информации в интернете о нем не так много, поэтому попробуем разобрать вместе как его устанавливать и использовать.

Continue reading

Объектно ориентированный подход при работе с датой

Все мы раньше так или иначе использовали в PHP функцию date() для произведения необходимых манипуляций с датой. Она прекрасна и решает множество задач, но увы иногда, когда очень хочется использовать объектный подход, она выпадает. Существует множество пользовательских решений, которые представляют классс-оболочку Date для функции date(), что решает вопрос. Но как мы знаем в 5.2 версии языка наконец-то сообразили сделать встроенный родной класс, и имя ему DateTime. В общем-то был добавлена целая группу классов работы с датой, но DateTime – основной, поэтому его мы и разберем.

Continue reading

Простые геометрические фигуры на canvas

Этот пост будет представлять собой постоянно расширяющийся список геометрических фигур и функций для их отрисовки на canvas.

Для всех случаев будем по умолчанию считать что мы уже определили canvas и получили ссылку на его контекст:

var canvas = document.getElementById('canvas‘);
var ctx    = canvas.getContext(‘2d’);

Continue reading