/** * 获取dom节点Rect参数 * */ export function getElementRect(node: HTMLElement | null): Partial { if (!node) return {} return node.getBoundingClientRect() } /** * 解析dom节点,考虑到有返回值为HTMLElement类型的函数 * */ export function resovelElement(node: HTMLElement | (() => HTMLElement)) { return typeof node === "function" ? node() : node } /** * 获取某节点所属的顶层document * */ export function getOwnerDocument(node?: HTMLElement | null) { return node?.ownerDocument || document }