static delegate (root, querySelector, eventType, callback, capture = false) {
    const dels = []
    if (root instanceof window.Node && typeof callback === 'function') {
      if (Array.isArray(eventType)) {
        eventType.forEach((item) => {
          const ret = delegate(root, querySelector, item, callback, capture)
          ret.key = `${querySelector}_${item}`
          dels.push(ret)
        })
      } else {
        const ret = delegate(root, querySelector, eventType, callback, capture)
        ret.key = `${querySelector}_${eventType}`
        dels.push(ret)
      }
    }
    return dels
  }
@param { HTMLElement } root
@param { string } querySelector
@param { string | Array<string> } eventType
@param { Function } callback
@param { boolean } [capture=false]
@returns