whole_func_string: function removeDelegate(el, selector, type, handler) {
    var capture = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
  
    if (capture !== undefined && !isBoolean(capture) && supportsPassive) {
      capture = { passive: true };
    }
    /* 尝试从缓存中读取包装后的方法 */
    var handlerWrap = removeEventCache(el, type + '_delegate_' + selector, handler);
    handlerWrap && el.removeEventListener(type, handlerWrap, capture);
  }
func_code_string: function removeDelegate(el, selector, type, handler) {
    var capture = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
  
    if (capture !== undefined && !isBoolean(capture) && supportsPassive) {
      capture = { passive: true };
    }
    /* 尝试从缓存中读取包装后的方法 */
    var handlerWrap = removeEventCache(el, type + '_delegate_' + selector, handler);
    handlerWrap && el.removeEventListener(type, handlerWrap, capture);
  }
func_documentation_string: 为HTML元素移除事件代理
  @param {HTMLElement} el 目标元素
  @param {String} selector 要被代理的元素
  @param {String} type 事件名称
  @param {Function} handler 处理函数
  @param {Boolean} capture 是否在捕获阶段监听