/** * 使用DOM元素 * 如果已存在则使用现有对,如果没有则创建一个 * * ```ts * import { element } from 'sunny-js' * console.log(element('#container', { tagName: 'div', id: 'container' })) * ``` * * @param selector 选择器 * @param dom 传入函数则自行创建元素,或传入创建DOM节点所需的属性对象 * @param context 创建节点的上下文,默认是document.body * @see {@link createDOM} * @category DOM */ export declare function element(selector: string, dom: (() => HTMLElement) | CreateDOMOptions, context?: HTMLElement): HTMLElement; /** * @deprecated 请使用{@link element}替代 * @category DOM */ export declare const useElement: typeof element; interface CreateDOMOptions { /** * 元素名称 */ tagName?: string; /** * 元素属性键值对 */ [attr: string]: any; } /** * 创建元素 * * ```ts * import { createDOM } from 'sunny-js' * console.log(createDOM({ tagName: 'div', class: 'container' })) * ``` * * @category DOM */ export declare function createDOM({ tagName, ...attributes }?: CreateDOMOptions): HTMLElement; /** * 监听window load事件 * * ```ts * import { onLoad } from 'sunny-js' * onLoad(console.log) * ``` * * @see {@link DOMReady} * @category DOM */ export declare function onLoad(fn: (this: Window, ev: Event) => any): void; /** * 监听document DOMContentLoaded事件 * * ```ts * import { DOMReady } from 'sunny-js' * DOMReady(console.log) * ``` * * @see {@link onLoad} * @category DOM */ export declare function DOMReady(fn: (this: Document, ev: Event) => any): void; export {};