-export function onChildEvent(listenerElement, childSelector, eventName, callback) {
- listenerElement.addEventListener(eventName, event => {
- const matchingChild = event.target.closest(childSelector);
+export function onChildEvent(
+ listenerElement: HTMLElement,
+ childSelector: string,
+ eventName: string,
+ callback: (this: HTMLElement, e: Event, child: HTMLElement) => any
+): void {
+ listenerElement.addEventListener(eventName, (event: Event) => {
+ const matchingChild = (event.target as HTMLElement|null)?.closest(childSelector) as HTMLElement;