diff options
author | XhmikosR <xhmikosr@gmail.com> | 2015-02-11 10:44:33 +0300 |
---|---|---|
committer | XhmikosR <xhmikosr@gmail.com> | 2015-02-11 10:44:33 +0300 |
commit | c591a267925e4a6c8050a21c8cbb878e692c81be (patch) | |
tree | b5303596070ef95ebec9000d4feb09dde944f02b | |
parent | 672b4f8f1794ef06c8dd40fc921822756d40adea (diff) | |
parent | 626e52c243ee1e82988d4650cbb22d3d8c304ed6 (diff) |
Merge pull request #728 from Johann-S/modal_event
Create `modalOpen` and `modalClose` events.
-rw-r--r-- | js/modals.js | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/js/modals.js b/js/modals.js index ffecbad..21bc112 100644 --- a/js/modals.js +++ b/js/modals.js @@ -9,6 +9,14 @@ !(function () { 'use strict'; + var eventModalOpen = new CustomEvent('modalOpen', { + bubbles: true, + cancelable: true + }); + var eventModalClose = new CustomEvent('modalClose', { + bubbles: true, + cancelable: true + }); var findModals = function (target) { var i; var modals = document.querySelectorAll('a'); @@ -31,11 +39,14 @@ window.addEventListener('touchend', function (event) { var modal = getModal(event); - if (modal) { - if (modal && modal.classList.contains('modal')) { - modal.classList.toggle('active'); + if (modal && modal.classList.contains('modal')) { + var eventToDispatch = eventModalOpen; + if (modal.classList.contains('active')) { + eventToDispatch = eventModalClose; } - event.preventDefault(); // prevents rewriting url (apps can still use hash values in url) + modal.dispatchEvent(eventToDispatch); + modal.classList.toggle('active'); } + event.preventDefault(); // prevents rewriting url (apps can still use hash values in url) }); }()); |