Page 117 - jQuery для начинающих
P. 117

Хорошо идём, теперь поговорим о событиях – для более гибкой разработки и внедрения
             виджетов  предусмотрен  функционал  по  созданию  произвольных  событий  и  их
             «прослушиванию»:


                    // инициируем событие
                    this._trigger("incomingCall");

                    // подписываемся на событие при инициализации виджета
                    $("#my").expose({
                           incommingCall: function(ev) {

                                  console.log("din-don");
                           }

                    })
                    // или после, используя в качестве имени события
                    // имя виджета + имя события
                    $("#my").bind("exposeincomingCall", function(){

                           console.log("tru-lya-lya")
                    });


             Материала  много,  я  понимаю,  но  ещё  добавлю  описание  нескольких  методов  которые
             можно вызвать из самого виджета:



                    _delay()  –  данная  функция  работает  как  setTimeout(),  вот  только  контекст
                    переданной функции будет указывать на сам виджет (это чтобы не заморачиваться с
                    областью видимости)

                    _hoverable()  и  _focusable()  –  данным  методам  необходимо  скармливать
                    элементы  для  которых  необходимо  отслеживать  события  hover  и  focus,  чтобы
                    автоматически  добавит  к  ним  классы  ui-state-hover  и  ui-state-focus  при
                    наступлении оных

                    _hide()  и  _show()  –  эти  два  метода появились  в  версии  1.9.0,  они  созданы  дабы
                    стандартизировать  поведение  виджетов  при  использовании  методов  анимации,
                    настройки  принято  прятать  в  опциях  под  ключами  hide  и  show  соответственно.
                    Использовать методы следует следующим образом:


                           options: {
                                  hide: {

                                         effect: "slideDown",  // настройки эквиваленты вызову
                                         duration: 500         // .slideDown( 500)

                                  }
                           }

                                                                                                        117


                                                                                        www.trk.kg
   112   113   114   115   116   117   118   119   120   121   122