I using the code below to add an event listener to the body but I can’t remove it
this.events = {
addEventListener : function(element, eventName, eventHandler, scope) {
var scopedEventHandler = scope ? function(e) { eventHandler.apply(scope, [e]); } : eventHandler;
if(document.addEventListener)
element.addEventListener(eventName, scopedEventHandler, false);
else if(document.attachEvent)
element.attachEvent("on"+eventName, scopedEventHandler);
}
}
this.events.addEventListener( document.body, "keydown", this.keyEvent, this);
By modifying the event handler in your
this.eventsobject, the event handlers are no longer the same.http://jsfiddle.net/asXzA/1/
I suggest you create a registry of events added via your
this.eventssystem, that way you can pull stuff out easily.