UNPKG

web-ui-pack

Version:
18 lines (17 loc) 541 B
export default function onEvent(element, type, listener, options) { if (typeof options !== "boolean") { if (options == null) { options = { passive: true }; } else if (options.passive == null) { options.passive = true; } } const remove = () => element.removeEventListener(type, wrapper, options); function wrapper(e) { listener.call(element, e); options?.once && remove(); } element.addEventListener(type, wrapper, options); return remove; }