Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
function timeFormat($time) {
return strftime('%d.%m.%Y', strtotime($time));
}
echo $this->timeFormat('2011-05-27');
var $time_format = '%d.%m.%Y'; // Это шаблон для даты, можно поменять когда угодно
function timeFormat($time) {
return strftime($this->time_format, strtotime($time));
}
Если при вызове виджета передать объект, то переданный объект будет «смерджен» (с помощью метода $.merge) с дефолтными настройками еще до вызова _create.
$.extend(), ну и тогда уж объект будет «расширен».За работу с настройками отвечает метод setOption
options( key, [ value ] ) и private методы _setOption, _setOptions..bind() на элементе, то тип события надо указывать с префиксом в виде имени виджета, т.е. для примера в тексте должно быть: mw.bind('mywidgetonafterrender', function(evt, data) {console.log(data.theAnswer)});.bind() тип события должен быть в нижнем регистре полностью, но при этом для обработчика в опциях регистр учитывается — поэтому лучше для единообразия всё указывать в нижнем регистре.К сожалению, приходится явно указывать предка и вручную вызывать его конструктор.
_create() пустой, то и объявлять его не надо и конструктор вручную вызывать тогда не придётся..mywidget('option', …)..mywidget('option', …)?_setOption() и внутри нового метода обработать свой специфичный ключ опции и/или вызвать метод базового виджета.Допилив метод $.widget напильником, можно получить виджеты, которые сами читают свои настройки из разметки, сами находят витальные для себя элементы, и автоматически организовываются в иерархическую структуру. Но это явно тема для отдельной статьи.
jQuery UI как инфраструктура для плагинов