UNPKG

web-ui-pack

Version:
12 lines (11 loc) 940 B
/** Apply el.addEventListener and return el.removeEventListener function; use passive:true by default; * @tutorial Troubleshooting * * don't change argument `options` after the function call otherwise removineListener can be skipped */ export default function onEvent<T extends keyof E, K extends HTMLElement | Document, E extends (HTMLElementEventMap & Record<keyof E, Event>) | Record<string, Event> = HTMLElementEventMap>(element: K, type: T, listener: (this: K, e: E[T] & { target: EventTarget; currentTarget: EventTarget; }) => any, options?: boolean | AddEventListenerOptions): () => void; export type onEventType<T extends keyof E, K extends HTMLElement | Document, E extends HTMLElementEventMap & Record<keyof E, Event> = HTMLElementEventMap> = (el: K, type: T, listener: (this: K, e: E[T] & { target: EventTarget; currentTarget: EventTarget; }) => any, options?: boolean | AddEventListenerOptions) => () => void;