Skip to content

Instantly share code, notes, and snippets.

@bryanforbes
Created May 24, 2011 22:41
Show Gist options
  • Select an option

  • Save bryanforbes/989924 to your computer and use it in GitHub Desktop.

Select an option

Save bryanforbes/989924 to your computer and use it in GitHub Desktop.
addEventListener in code
var listeners = {};
function addEventListener(event, callback, capture){
if(!listeners[event]){
listeners[event] = [];
}
listeners[event].push(callback);
}
function removeEventListener(event, callback, capture){
if(listeners[event]){
var handlers = listeners[event];
for(var i=0, l=handlers.length; i<l; i++){
if(handlers[i] === callback){
handlers.splice(i, 1);
break;
}
}
}
}
Node.prototype.addEventListener = addEventListener;
Node.prototype.removeEventListener = removeEventListener;
function on(node, event, callback){
var signal = {
destroy: function(){
node.removeEventListener(event, callback, false);
}
};
node.addEventListener(event, callback, false);
return signal;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment