Skip to content

Instantly share code, notes, and snippets.

@luisenriquecorona
Created November 5, 2019 21:13
Show Gist options
  • Save luisenriquecorona/dce46ca78590fee335a703489ead20dc to your computer and use it in GitHub Desktop.
Save luisenriquecorona/dce46ca78590fee335a703489ead20dc to your computer and use it in GitHub Desktop.
The first way to eliminate work repetition in functions is through lazy loading. Lazy loading means that no work is done until the information is necessary.
function addHandler(target, eventType, handler){
//overwrite the existing function
if (target.addEventListener){ //DOM2 Events
addHandler = function(target, eventType, handler){
target.addEventListener(eventType, handler, false);
};
} else { //IE
addHandler = function(target, eventType, handler){
target.attachEvent("on" + eventType, handler);
};
}
//call the new function
addHandler(target, eventType, handler);
}
function removeHandler(target, eventType, handler){
//overwrite the existing function
if (target.removeEventListener){ //DOM2 Events
removeHandler = function(target, eventType, handler){
target.addEventListener(eventType, handler, false);
};
} else { //IE
removeHandler = function(target, eventType, handler){
target.detachEvent("on" + eventType, handler);
};
}
//call the new function
removeHandler(target, eventType, handler);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment