Skip to content

Instantly share code, notes, and snippets.

@godspeedyoo
Created January 14, 2019 00:04
Show Gist options
  • Save godspeedyoo/52e64cde92c39b04fd0331fecb07bf85 to your computer and use it in GitHub Desktop.
Save godspeedyoo/52e64cde92c39b04fd0331fecb07bf85 to your computer and use it in GitHub Desktop.
class EventManager {
constructor () {
this.events = {};
}
addListener (name, callback) {
this.events[name] = callback;
}
removeListener (name) {
delete this.events[name];
}
trigger (name, event) {
if (this.events[name]) {
this.events[name](event);
}
}
}
const em = new EventManager();
em.addListener('click', (event) => {
console.log(event);
});
// console.log(em.events);
em.trigger('click', 'foofoofoo');
em.removeListener('click');
em.trigger('click', 'foofoofoo');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment