UNPKG

@forest-js/core

Version:

A tiny, functional DOM engine with explicit update and real DOM.

30 lines 953 B
import { ensureMeta } from "../dom"; import { createUtility } from "./core"; /** * @function addEvent * @description Attaches event listeners to an element. * Allows specifying event types and handlers. * * @template E - Element type. * @template K - Event key. * @param type - Event type. * @param handler - Event handler. * @param options - Event options. * @returns Utility function for adding event listeners. * @example * ```ts * const onClick = addEvent("click", (e) => console.log(e.currentTarget))(MyElement); * ``` */ export const addEvent = (type, handler, options) => createUtility((el) => { const meta = ensureMeta(el); if (!meta.listeners) meta.listeners = {}; if (meta.listeners[type]) { el.removeEventListener(type, meta.listeners[type]); } meta.listeners[type] = handler; el.addEventListener(type, meta.listeners[type], options); return el; }); //# sourceMappingURL=event.js.map