Skip to content

Instantly share code, notes, and snippets.

@wizard04wsu
Last active September 10, 2017 20:21
Show Gist options
  • Save wizard04wsu/e3192fec332f448893f9 to your computer and use it in GitHub Desktop.
Save wizard04wsu/e3192fec332f448893f9 to your computer and use it in GitHub Desktop.
Clones an event object. You can optionally pass new initialization values to override the ones from the cloned event object.
function cloneEventObj(eventObj, overrides){
var p, eventInit = {}, clone;
overrides = overrides || {};
for(p in eventObj){
eventInit[p] = eventObj[p];
}
for(p in overrides){
eventInit[p] = overrides[p];
}
clone = new eventObj.constructor(eventObj.type, eventInit);
//make sure any custom properties get copied to the new event object
for(p in eventInit){
try{
clone[p] = eventInit[p];
}
catch(e){}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment