@mdui/jq
Version:
拥有和 jQuery 相似 API 的轻量级 JavaScript 工具库
81 lines (80 loc) • 3.52 kB
TypeScript
import './each.js';
import './off.js';
import type { EventCallback } from '../shared/event.js';
import type { PlainObject } from '../shared/helper.js';
declare module '../shared/core.js' {
interface JQ<T = HTMLElement> {
/**
* 通过事件委托同时添加多个事件处理函数
* @param events
* 一个对象:
*
* 键名为事件名,多个事件名用空格分隔,可包含命名空间;
*
* 键值为事件处理函数
* @param selector CSS 选择器
* @param data
* 事件触发时,传递给事件处理函数的数据
*
* 如果 `data` 是 `string` 类型,则必须提供 `selector` 参数;`selector` 参数可以是 `null`
*/
on<TData = unknown>(events: PlainObject<EventCallback<TData, T> | false>, selector: string | null | undefined, data?: TData): this;
/**
* 同时添加多个事件处理函数
* @param events
* 一个对象:
*
* 键名为事件名,多个事件名用空格分隔,可包含命名空间;
*
* 键值为事件处理函数
* @param data
* 事件触发时,传递给事件处理函数的数据
*
* 如果 `data` 是 `string` 类型,则必须提供 `selector` 参数;`selector` 参数可以是 `null`
*/
on<TData = unknown>(events: PlainObject<EventCallback<TData, T> | false>, data?: TData): this;
/**
* 通过事件委托添加事件处理函数,并传入参数
* @param eventName
* 事件名称,多个事件名可以用空格分隔
*
* 事件名中可以包含命名空间,如 `click.myPlugin`
* @param selector CSS 选择器
* @param data
* 事件触发时,传递给事件处理函数的数据
*
* 如果 `data` 是 `string` 类型,则必须提供 `selector` 参数;`selector` 参数可以是 `null`
* @param callback 事件处理函数
*/
on<TData = unknown>(eventName: string, selector: string | null | undefined, data: TData, callback: EventCallback<TData, T> | false): this;
/**
* 通过事件委托添加事件处理函数
* @param eventName
* 事件名称,多个事件名可以用空格分隔
*
* 事件名中可以包含命名空间,如 `click.myPlugin`
* @param selector CSS 选择器
* @param callback 事件处理函数
*/
on(eventName: string, selector: string, callback: EventCallback<unknown, T> | false): this;
/**
* 添加事件处理函数,并传入参数
* @param eventName
* 事件名称,多个事件名可以用空格分隔
*
* 事件名中可以包含命名空间,如 `click.myPlugin`
* @param data 事件触发时,传递给事件处理函数的数据
* @param callback 事件处理函数
*/
on<TData = unknown>(eventName: string, data: TData, callback: EventCallback<TData, T> | false): this;
/**
* 添加事件处理函数
* @param eventName
* 事件名称,多个事件名可以用空格分隔
*
* 事件名中可以包含命名空间,如 `click.myPlugin`
* @param callback 事件处理函数
*/
on(eventName: string, callback: EventCallback<unknown, T> | false): this;
}
}