Skip to content

Instantly share code, notes, and snippets.

@mihail-petrov
Created August 23, 2013 13:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mihail-petrov/6319227 to your computer and use it in GitHub Desktop.
Save mihail-petrov/6319227 to your computer and use it in GitHub Desktop.
function EventSystem() {
this.eventListeners = {};
}
EventSystem.prototype.on = function(eventType, eventHandler) {
if(typeof this.eventListeners[eventType] === "undefined") {
this.eventListeners[eventType] = [];
}
this.eventListeners[eventType].push(eventHandler);
};
/**
* Custom Event Triger
*/
EventSystem.prototype.triger = function(eventObject) {
if(typeof eventObject.type === "undefined") {
throw new {
message : "Unspecifaid EventTypeExcepion"
}
}
if(typeof eventObject.target === "undefined") {
eventObject.target = this;
}
var getAllListeners = this.eventListeners[eventObject.type];
if(typeof getAllListeners === "undefined") {
return;
}
for(var i = 0; i< getAllListeners.length; i++) {
getAllListeners[i].call(this, eventObject);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment