UNPKG

coco-modal

Version:
37 lines (31 loc) 917 B
"use strict"; var handlers = {}; var root = document.body.querySelector(".root"); var content = document.body.querySelector(".content"); var addEvent = function addEvent(el, name, fn) { el.addEventListener(name, fn); }; var clickHandler = function clickHandler(btn) { var type = btn.getAttribute("data-type"); var fn = handlers[type]; fn && fn(); }; var example = function example(type, fn) { handlers[type] = fn; }; var addSpan = function addSpan(btn) { var span = document.createElement("span"); span.innerText = btn.innerText; btn.innerText = ""; btn.appendChild(span); }; addEvent(document, "DOMContentLoaded", function (_) { var arr = document.body.querySelectorAll(".btn"); Array.from(arr).forEach(function (btn) { addSpan(btn); addEvent(btn, "click", function (_) { clickHandler(btn); }); content.appendChild(btn); }); });