JSFiddle - React, Tailwind, and code Playground
JavaScript
var myClass = function(){
this._callbacks = {};
};
myClass.prototype = {
addEvent: function(evname,callback) {
if (!this._callbacks[evname]) {
this._callbacks[evname] = $.Callbacks();
}
this._callbacks[evname].add(callback);
},
removeEvent: function(evname,callback) {
if (!this._callbacks[evname]) {
return;
}
this._callbacks[evname].remove(callback);
},
triggerEvent: function(evname) {
if (this._callbacks[evname]) {
this._callbacks[evname].fire();
}
}
}
var foo = new myClass();
foo.addEvent("foo",function(){console.log('foo');});
foo.triggerEvent("foo");
foo.removeEvent("foo");
foo.triggerEvent("foo");