vben
2021-01-06 144ab577da06ff0bd1f258d1901b87864f232e45
src/utils/domUtils.ts
@@ -15,9 +15,11 @@
  }
  return element.getBoundingClientRect();
}
const trim = function (string: string) {
  return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, '');
};
/* istanbul ignore next */
export function hasClass(el: Element, cls: string) {
  if (!el || !cls) return false;
@@ -28,6 +30,7 @@
    return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;
  }
}
/* istanbul ignore next */
export function addClass(el: Element, cls: string) {
  if (!el) return;
@@ -129,23 +132,34 @@
}
/* istanbul ignore next */
export const on = function (
  element: HTMLElement | Document | Window,
export function on(
  element: Element | HTMLElement | Document | Window,
  event: string,
  handler: EventListenerOrEventListenerObject
): void {
  if (element && event && handler) {
    element.addEventListener(event, handler, false);
  }
};
}
/* istanbul ignore next */
export const off = function (
  element: HTMLElement | Document | Window,
export function off(
  element: Element | HTMLElement | Document | Window,
  event: string,
  handler: Fn
): void {
  if (element && event && handler) {
    element.removeEventListener(event, handler, false);
  }
};
}
/* istanbul ignore next */
export function once(el: HTMLElement, event: string, fn: EventListener): void {
  const listener = function (this: any, ...args: unknown[]) {
    if (fn) {
      fn.apply(this, args);
    }
    off(el, event, listener);
  };
  on(el, event, listener);
}