UNPKG

@lesjoursfr/browser-tools

Version:

Some browser tools for events & DOM manipulation.

48 lines (47 loc) 1.56 kB
export type BrowserToolsEvent = { type: string; ns: Array<string> | null; handler: EventListenerOrEventListenerObject; }; type BrowserToolsEvents = { [key: string]: BrowserToolsEvent; }; declare global { interface Window { ljbtEvents: BrowserToolsEvents; } interface Document { ljbtEvents: BrowserToolsEvents; } interface HTMLElement { ljbtEvents: BrowserToolsEvents; } } /** * Set an event listener on every node. * @param {Window|Document|HTMLElement|NodeList} nodes * @param {string} events * @param {Function} handler */ export declare function on(nodes: Window | Document | HTMLElement | NodeListOf<HTMLElement>, events: string, handler: EventListenerOrEventListenerObject): void; /** * Remove event listeners from the node. * @param {Window|Document|HTMLElement|NodeList} nodes * @param {string} events * @param {Function|undefined} handler */ export declare function off(nodes: Window | Document | HTMLElement | NodeListOf<HTMLElement>, events: string, handler?: EventListenerOrEventListenerObject): void; /** * Trigger the Event on the node. * @param {Window|Document|HTMLElement} node * @param {string|Event} event * @param {Object|undefined} payload */ export declare function trigger(node: Window | Document | HTMLElement, event: string | Event, payload?: object): void; /** * Check if the event is a TouchEvent * @param {Event} e * @returns {boolean} true if the event is a TouchEvent */ export declare function isTouchEvent(e: Event): e is TouchEvent; export {};