module.exports = dispatchEvent function dispatchEvent(ev) { var elem = this var type = ev.type if (!ev.target) { ev.target = elem } if (!elem.listeners) { elem.listeners = {} } var listeners = elem.listeners[type] if (listeners) { return listeners.forEach(function (listener) { ev.currentTarget = elem if (typeof listener === 'function') { listener(ev) } else { listener.handleEvent(ev) } }) } if (elem.parentNode) { elem.parentNode.dispatchEvent(ev) } }