public
Created — forked from cowboy/HEY-YOU.md

jQuery Tiny Pub/Sub: A really, really, REALLY tiny pub/sub implementation for jQuery.

  • Download Gist
jquery.ba-tinypubsub.js
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
/*!
* jQuery Tiny Pub/Sub - v0.4 - 1/4/2011
* http://benalman.com/
*
* Copyright (c) 2010 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/
*/
 
(function($){
 
var o = $({});
 
$.subscribe = function( type, data, fn ) {
if ( $.isFunction( data ) || data === false ) {
fn = data;
data = undefined;
}
 
function proxy() {
return fn.apply( this, Array.prototype.slice.call( arguments, 1 ) );
};
 
proxy.guid = fn.guid = fn.guid || proxy.guid || $.guid++;
 
o.bind( type, data, proxy );
};
 
$.unsubscribe = function() {
o.unbind.apply( o, arguments );
};
 
$.publish = function() {
o.trigger.apply( o, arguments );
};
 
})(jQuery);
jquery.ba-tinypubsub.min.js
JavaScript
1 2 3 4 5 6 7 8 9
/*
* jQuery Tiny Pub/Sub - v0.4 - 1/4/2011
* http://benalman.com/
*
* Copyright (c) 2010 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/
*/
(function($){var o=$({});$.subscribe=function(type,data,fn){if($.isFunction(data)||data===false){fn=data;data=undefined}function proxy(){return fn.apply(this,Array.prototype.slice.call(arguments,1))}proxy.guid=fn.guid=fn.guid||proxy.guid||$.guid++;o.bind(type,data,proxy)};$.unsubscribe=function(){o.unbind.apply(o,arguments)};$.publish=function(){o.trigger.apply(o,arguments)}})(jQuery);
var multiarmedHandler = $.multiarmed({
    events   : ['event:one', 'event:two'],
    callback : function (){
        console.info('all events are fired', arguments)
        console.info('this.is context',this)
    },
    context  : {optionsl:'onject'} 
});

$.subscribe('event:one', multiarmedHandler );
$.subscribe('event:two', multiarmedHandler );

$.publish('event:one', 1,2,3);
$.publish('event:two', 4,5,6);

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.