UNPKG

doc-fui-ds

Version:

Doc

24 lines (20 loc) 595 B
let bodyClickListenerAdded = false const clickHandlers = {} export function bindClickHandler(attr = 'data-swal-template') { clickHandlers[attr] = this if (!bodyClickListenerAdded) { document.body.addEventListener('click', bodyClickListener) bodyClickListenerAdded = true } } const bodyClickListener = (event) => { for (let el = event.target; el && el !== document; el = el.parentNode) { for (const attr in clickHandlers) { const template = el.getAttribute(attr) if (template) { clickHandlers[attr].fire({ template }) return } } } }