function listener(element, selector, type, callback) {
    return function(e) {
        e.delegateTarget = closest_1(e.target, selector);

        if (e.delegateTarget) {
            callback.call(element, e);
        }
    }
}
function listener(element, selector, type, callback) {
    return function(e) {
        e.delegateTarget = closest_1(e.target, selector);

        if (e.delegateTarget) {
            callback.call(element, e);
        }
    }
}
function listener ( element , selector , type , callback ) { return function ( e ) { e . delegateTarget = closest_1 ( e . target , selector ) ; if ( e . delegateTarget ) { callback . call ( element , e ) ; } } }
Finds closest match and invokes callback.

@param {Element} element
@param {String} selector
@param {String} type
@param {Function} callback
@return {Function}
Finds closest match and invokes callback .