33 lines
717 B
TypeScript
33 lines
717 B
TypeScript
export const addGlobalEventListener = (
|
|
type: string,
|
|
selector: string,
|
|
callback: (arg0: Event) => void,
|
|
options: boolean | AddEventListenerOptions,
|
|
parent = document
|
|
): void => {
|
|
parent.addEventListener(
|
|
type,
|
|
(e: Event) => {
|
|
if (e != null && e.target != null) {
|
|
const el = e.target as Element
|
|
if (el.matches(selector)) callback(e)
|
|
}
|
|
},
|
|
options
|
|
)
|
|
}
|
|
|
|
export const qs = (
|
|
selector: string | keyof HTMLElementTagNameMap,
|
|
parent = document
|
|
): Element => {
|
|
return parent.querySelector(selector)
|
|
}
|
|
|
|
export const qsa = (
|
|
selector: string | keyof HTMLElementTagNameMap,
|
|
parent = document
|
|
): Element[] => {
|
|
return [...parent.querySelectorAll(selector)]
|
|
}
|