UNPKG

uswds

Version:

Open source UI components and visual style guide for U.S. government websites

31 lines (25 loc) 646 B
module.exports = (element, eventTypeString, listener, options) => { const eventTypes = eventTypeString.split(/\s+/); const add = () => { eventTypes.forEach((type) => { element.addEventListener(type, listener, options); }); }; const trigger = () => { const type = eventTypes[0]; const event = document.createEvent('HTMLEvents'); event.initEvent(type, false, true); element.dispatchEvent(event); }; const remove = () => { eventTypes.forEach((type) => { element.removeEventListener(type, listener, options); }); }; add(); return { on: add, trigger, off: remove, }; };