src/util/events.js
function (obj, type, fn) {
                var wrappedFn, item, len = cache.length, i;

                for (i = 0; i < len; i++) {
                    item = cache[i];

                    if (item[0] === obj && item[1] === type && item[2] === fn) {
                        wrappedFn = item[3];

                        if (wrappedFn) {
                            obj.removeEventListener(type, wrappedFn, false);
                            cache = cache.slice(i);
                            return true;
                        }
                    }
                }
            }
function (obj, type, fn) {
                var wrappedFn, item, len = cache.length, i;

                for (i = 0; i < len; i++) {
                    item = cache[i];

                    if (item[0] === obj && item[1] === type && item[2] === fn) {
                        wrappedFn = item[3];

                        if (wrappedFn) {
                            obj.removeEventListener(type, wrappedFn, false);
                            cache = cache.slice(i);
                            return true;
                        }
                    }
                }
            }
Remove an event from an object

@param obj {HTMLElement} The object to remove the event from
@param type {string} The type of event excluding "on"
@param fn {function} The function