src/event-listener.js
function(eventName, selector, callback) {
        if (!isString(selector)) {
            callback = selector;
            selector = '';
        }

        if (callback) {
            var events = this.events[eventName];
            if (events) {
                events = events[selector];
                if (events) {
                    for (var i = 0; i < events.length; i++) {
                        if (events[i] === callback) {
                            events.splice(i, 1);
                            i--;
                        }
                    }
                }
            }
        } else {
            this.events[eventName][selector] = [];
        }
    }
function(eventName, selector, callback) {
        if (!isString(selector)) {
            callback = selector;
            selector = '';
        }

        if (callback) {
            var events = this.events[eventName];
            if (events) {
                events = events[selector];
                if (events) {
                    for (var i = 0; i < events.length; i++) {
                        if (events[i] === callback) {
                            events.splice(i, 1);
                            i--;
                        }
                    }
                }
            }
        } else {
            this.events[eventName][selector] = [];
        }
    }
function ( eventName , selector , callback ) { if ( ! isString ( selector ) ) { callback = selector ; selector = '' ; } if ( callback ) { var events = this . events [ eventName ] ; if ( events ) { events = events [ selector ] ; if ( events ) { for ( var i = 0 ; i < events . length ; i ++ ) { if ( events [ i ] === callback ) { events . splice ( i , 1 ) ; i -- ; } } } } } else { this . events [ eventName ] [ selector ] = [ ] ; } }
Stops listening to an event.

The arguments are the same as for on(), but when no callback is given, all callbacks for the
given event and class are discarded.
Stops listening to an event .