UNPKG

@starzhuimeng/formula-editor

Version:

A configurable formula editor with customizable symbols

89 lines 2.36 kB
"use strict"; /** * DOM操作工具函数 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.createElement = createElement; exports.appendChildren = appendChildren; exports.setStyles = setStyles; exports.addEventListeners = addEventListeners; exports.removeEventListener = removeEventListener; exports.querySelector = querySelector; exports.generateId = generateId; /** * 创建DOM元素 * @param tag 标签名 * @param className 类名 * @param attributes 属性对象 * @returns HTMLElement */ function createElement(tag, className, attributes) { const element = document.createElement(tag); if (className) { element.className = className; } if (attributes) { Object.entries(attributes).forEach(([key, value]) => { element.setAttribute(key, value); }); } return element; } /** * 将元素添加到父元素 * @param parent 父元素 * @param children 子元素列表 */ function appendChildren(parent, ...children) { children.forEach(child => parent.appendChild(child)); } /** * 设置元素样式 * @param element 目标元素 * @param styles 样式对象 */ function setStyles(element, styles) { Object.entries(styles).forEach(([key, value]) => { if (value !== undefined) { element.style[key] = value; } }); } /** * 添加事件监听器 * @param element 目标元素 * @param eventType 事件类型 * @param handler 事件处理函数 * @param options 事件选项 */ function addEventListeners(element, events) { Object.entries(events).forEach(([eventType, handler]) => { element.addEventListener(eventType, handler); }); } /** * 移除事件监听器 * @param element 目标元素 * @param eventType 事件类型 * @param handler 事件处理函数 */ function removeEventListener(element, eventType, handler) { element.removeEventListener(eventType, handler); } /** * 查找元素 * @param selector 选择器 * @param parent 父元素(可选,默认为document) * @returns 匹配的元素或null */ function querySelector(selector, parent = document) { return parent.querySelector(selector); } /** * 生成唯一ID * @returns 唯一ID字符串 */ function generateId() { return `fe-${Math.random().toString(36).substring(2, 10)}`; } //# sourceMappingURL=dom.js.map