@starzhuimeng/formula-editor
Version:
A configurable formula editor with customizable symbols
53 lines (52 loc) • 1.75 kB
TypeScript
/**
* DOM操作工具函数
*/
/**
* 创建DOM元素
* @param tag 标签名
* @param className 类名
* @param attributes 属性对象
* @returns HTMLElement
*/
export declare function createElement<T extends HTMLElement>(tag: string, className?: string, attributes?: Record<string, string>): T;
/**
* 将元素添加到父元素
* @param parent 父元素
* @param children 子元素列表
*/
export declare function appendChildren(parent: HTMLElement, ...children: HTMLElement[]): void;
/**
* 设置元素样式
* @param element 目标元素
* @param styles 样式对象
*/
export declare function setStyles(element: HTMLElement, styles: Partial<CSSStyleDeclaration>): void;
/**
* 添加事件监听器
* @param element 目标元素
* @param eventType 事件类型
* @param handler 事件处理函数
* @param options 事件选项
*/
export declare function addEventListeners<K extends keyof HTMLElementEventMap>(element: HTMLElement, events: {
[key in K]?: (this: HTMLElement, ev: HTMLElementEventMap[key]) => any;
}): void;
/**
* 移除事件监听器
* @param element 目标元素
* @param eventType 事件类型
* @param handler 事件处理函数
*/
export declare function removeEventListener<K extends keyof HTMLElementEventMap>(element: HTMLElement, eventType: K, handler: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any): void;
/**
* 查找元素
* @param selector 选择器
* @param parent 父元素(可选,默认为document)
* @returns 匹配的元素或null
*/
export declare function querySelector<T extends HTMLElement>(selector: string, parent?: HTMLElement | Document): T | null;
/**
* 生成唯一ID
* @returns 唯一ID字符串
*/
export declare function generateId(): string;