@lesjoursfr/browser-tools
Version:
Some browser tools for events & DOM manipulation.
48 lines (47 loc) • 1.56 kB
TypeScript
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 {};