lib/kissy/5.0.0-alpha.3/lib/build/event/custom.js
function (type, fn, context) {
            var self = this;
            Utils.batchForType(function (type, fn, context) {
                var cfg = Utils.normalizeParam(type, fn, context), customEvents, customEvent;
                type = cfg.type;
                if (type) {
                    customEvent = self.getCustomEventObservable(type, true);
                    if (customEvent) {
                        customEvent.detach(cfg);
                    }
                } else {
                    customEvents = self.getCustomEvents();
                    util.each(customEvents, function (customEvent) {
                        customEvent.detach(cfg);
                    });
                }
            }, 0, type, fn, context);
            return self;    // chain
        }
function (type, fn, context) {
            var self = this;
            Utils.batchForType(function (type, fn, context) {
                var cfg = Utils.normalizeParam(type, fn, context), customEvents, customEvent;
                type = cfg.type;
                if (type) {
                    customEvent = self.getCustomEventObservable(type, true);
                    if (customEvent) {
                        customEvent.detach(cfg);
                    }
                } else {
                    customEvents = self.getCustomEvents();
                    util.each(customEvents, function (customEvent) {
                        customEvent.detach(cfg);
                    });
                }
            }, 0, type, fn, context);
            return self;    // chain
        }
function ( type , fn , context ) { var self = this ; Utils . batchForType ( function ( type , fn , context ) { var cfg = Utils . normalizeParam ( type , fn , context ) , customEvents , customEvent ; type = cfg . type ; if ( type ) { customEvent = self . getCustomEventObservable ( type , true ) ; if ( customEvent ) { customEvent . detach ( cfg ) ; } } else { customEvents = self . getCustomEvents ( ) ; util . each ( customEvents , function ( customEvent ) { customEvent . detach ( cfg ) ; } ) ; } } , 0 , type , fn , context ) ; return self ; // chain }
chain 
Detach one or more listeners from the specified event
@method detach
@param {String} type The name of the event
@param {Function} [fn] The subscribed function to un-subscribe. if not supplied, all observers will be removed.
@param {Object} [context] The custom object passed to subscribe.
@chainable
chain Detach one or more listeners from the specified event