From 0b16c8c6d9a9690d537bd08eac8a8292ebf938cd Mon Sep 17 00:00:00 2001 From: Johann-S Date: Mon, 21 Aug 2017 09:11:37 +0200 Subject: alert without jquery --- js/src/dom/eventHandler.js | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 js/src/dom/eventHandler.js (limited to 'js/src/dom/eventHandler.js') diff --git a/js/src/dom/eventHandler.js b/js/src/dom/eventHandler.js new file mode 100644 index 000000000..0627ccd26 --- /dev/null +++ b/js/src/dom/eventHandler.js @@ -0,0 +1,40 @@ +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta): dom/eventHandler.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +const EventHandler = { + on(element, event, handler) { + if (typeof event !== 'string' || typeof element === 'undefined') { + return + } + element.addEventListener(event, handler, false) + }, + + one(element, event, handler) { + const complete = () => { + /* eslint func-style: off */ + handler() + element.removeEventListener(event, complete, false) + } + EventHandler.on(element, event, complete) + }, + + trigger(element, event) { + if (typeof event !== 'string' || typeof element === 'undefined') { + return null + } + + const eventToDispatch = new CustomEvent(event, { + bubbles: true, + cancelable: true + }) + element.dispatchEvent(eventToDispatch) + + return eventToDispatch + } +} + +export default EventHandler -- cgit v1.2.3