@alifd/next
Version:
A configurable component library for web built on React.
45 lines (44 loc) • 1.72 kB
TypeScript
export interface ListenerCallback {
(...args: unknown[]): unknown;
}
export interface CanListenNode {
addEventListener?: (name: string, callback: ListenerCallback, useCapture?: boolean) => unknown;
removeEventListener?: (name: string, callback: ListenerCallback, useCapture?: boolean) => unknown;
}
/**
* 取消事件绑定
* @param node - DOM 节点或任何可以绑定事件的对象
* @param eventName - 事件名
* @param callback - 回调方法
* @param useCapture - [useCapture=false] 是否开启事件捕获优先
*/
export declare function off(node: CanListenNode, eventName: string, callback: ListenerCallback, useCapture?: boolean): void;
/**
* 绑定事件
* @param node - DOM 节点或任何可以绑定事件的对象
* @param eventName - 事件名
* @param callback - 回调方法
* @param useCapture - 是否开启事件捕获优先
* @returns 返回的 object 中包含一个 off 方法,用于取消事件监听
*
* @example
* const handler = events.on(document.body, 'click', e =\> \{
* // handle click ...
* \});
* // 取消事件绑定
* handler.off();
*/
export declare function on(node: CanListenNode, eventName: string, callback: ListenerCallback, useCapture?: boolean): {
off: () => void;
};
/**
* 绑定事件,只执行一次后销毁
* @param node - DOM 节点或任何可以绑定事件的对象
* @param eventName - 事件名
* @param callback - 回调方法
* @param useCapture - 是否开启事件捕获优先
* @returns 返回的 object 中包含一个 off 方法,用于取消事件监听
*/
export declare function once(node: CanListenNode, eventName: string, callback: ListenerCallback, useCapture?: boolean): {
off: () => void;
};