addEventListener shortcut
addEventListener shortcut functions
type EventHandlerParameters<T extends Window | Document | HTMLElement> = Parameters<T["addEventListener"]>;
export function on<T extends Window | Document | HTMLElement>(
target: T,
eventName: EventHandlerParameters<T>[0],
handler: EventHandlerParameters<T>[1],
) {
target.addEventListener(eventName, handler);
}
export function off<T extends Window | Document | HTMLElement>(
target: T,
eventName: EventHandlerParameters<T>[0],
handler: EventHandlerParameters<T>[1],
) {
target.removeEventListener(eventName, handler);
}
// window.addEventListener('click', () => {console.log("click")})
// is equivalent to
// on(window, 'click', () => {console.log("click")})