javascript window event handling manager
1 2 // BurntoEventManager 3 // http://brentfitzgerald.com/ 4 // January 2007 5 6 var BurntoEventManager = { 7 handlers: {}, 8 add: function(handler_name, method) { 9 if(this.handlers[handler_name] == null) { 10 this.handlers[handler_name] = new Array(); 11 } 12 this.handlers[handler_name].push(method); 13 14 // Now update the window event handler 15 window[handler_name] = function(evt) { 16 this.handlers[handler_name].each(function(m) { 17 m(evt); 18 }.bind(this)); 19 }.bind(this); 20 }, 21 22 clear: function(handler_name) { 23 this.handlers[handler_name] = null; 24 window[handler_name] = function() {}; 25 }, 26 27 get: function(handler_name) { 28 return this.handlers[handler_name]; 29 } 30 }
For example, consider if later on in our application we want to add an onclick handler.
1 2 BurntoEventManager.add("onclick", function(evt) { alert(evt) });