Skip to content

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Event Emitter With jQuery 1.7's $.Callbacks()
/**
* EventEmitter with jQuery 1.7's $.Callbacks().
*/
function EventEmitter() {
this.topics = {};
}
/**
* Listen on the given `topic` event with `fn`.
*
* @param {String} topic
* @param {Function} fn
* @param {Mixed} ... options for $.Callbacks handling
*/
EventEmitter.prototype.on = function(topic, fn){
(this.topics[topic] = this.topics[topic] || $.Callbacks(Array.prototype.slice.call(arguments,2)))
.add(fn);
return this;
};
/**
* Emit `topic` event with the given args.
*
* @param {String} topic
* @param {Mixed} ...
*/
EventEmitter.prototype.emit = function(topic){
var args = Array.prototype.slice.call(arguments, 1)
, callbacks = this.topics[topic];
callbacks.fire(args);
return this;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.