Skip to content

Instantly share code, notes, and snippets.

@wtw24
Last active January 17, 2020 06:57
Show Gist options
  • Save wtw24/01a6d54bdfd3f3c2f0b626e481b12ccd to your computer and use it in GitHub Desktop.
Save wtw24/01a6d54bdfd3f3c2f0b626e481b12ccd to your computer and use it in GitHub Desktop.
событийный шаблон jQuery
// В этом паттерне используем события jQuery
// для обеспечения возможностей pub/sub (publish/subscribe).
// Каждый виджет будет порождать и подписываться на разные события
// Данный подход позволит разграничить виджеты,
// обеспечивая их независимое существование
;(function ( $, window, document, undefined ) {
$.widget("ao.eventStatus", {
options: {
},
_create : function() {
var self = this;
//self.element.addClass( "my-widget" );
//подписываемся на событие 'myEventStart'
self.element.bind( "myEventStart", function( e ) {
console.log("event start");
});
//на событие 'myEventEnd'
self.element.bind( "myEventEnd", function( e ) {
console.log("event end");
});
//отписываемся от события 'myEventStart'
//self.element.unbind( "myEventStart", function(e){
///console.log("unsubscribed to this event");
//});
},
destroy: function(){
$.Widget.prototype.destroy.apply( this, arguments );
},
});
})( jQuery, window , document );
//Публикация событий
//пример:
// $(".my-widget").trigger("myEventStart");
// $(".my-widget").trigger("myEventEnd");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment