Skip to content

Instantly share code, notes, and snippets.

@jasdeepkhalsa
Created February 4, 2016 14:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jasdeepkhalsa/0c0ab149cef05279e8a2 to your computer and use it in GitHub Desktop.
Save jasdeepkhalsa/0c0ab149cef05279e8a2 to your computer and use it in GitHub Desktop.
Listener manager to help track and add/remove them
// Link: http://www.jimmycuadra.com/posts/keeping-track-of-javascript-event-handlers/
function addTrackedListener(element, type, handler) {
if (!element.trackedEvents) {
element.trackedEvents = {};
}
if (!element.trackedEvents[type]) {
element.trackedEvents[type] = [];
element[type] = function () {
for (var i = 0; i < element.trackedEvents[type].length; i++) {
element.trackedEvents[type][i]();
}
};
}
element.trackedEvents[type].push(handler);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment