From: Jeremy Thomas Date: Fri, 21 Jul 2017 07:30:56 +0000 (+0200) Subject: Add escape to close dropdowns X-Git-Tag: 0.4.4~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=39a09d204ac998efff3794b69f9996c39a5686fc;p=thirdparty%2Fbulma.git Add escape to close dropdowns --- diff --git a/docs/_javascript/main.js b/docs/_javascript/main.js index b48aed22e..9a45848aa 100644 --- a/docs/_javascript/main.js +++ b/docs/_javascript/main.js @@ -7,17 +7,19 @@ document.addEventListener('DOMContentLoaded', () => { if ($dropdowns.length > 0) { $dropdowns.forEach($el => { $el.addEventListener('click', event => { - console.log('dropdown', event); event.stopPropagation(); $el.classList.toggle('is-active'); }); }); document.addEventListener('click', event => { - console.log('document', event); - $dropdowns.forEach($el => { - $el.classList.remove('is-active'); - }); + closeDropdowns(); + }); + } + + function closeDropdowns() { + $dropdowns.forEach($el => { + $el.classList.remove('is-active'); }); } @@ -57,20 +59,21 @@ document.addEventListener('DOMContentLoaded', () => { if ($modalCloses.length > 0) { $modalCloses.forEach($el => { $el.addEventListener('click', () => { - $html.classList.remove('is-clipped'); closeModals(); }); }); } - document.addEventListener('keydown', e => { + document.addEventListener('keydown', event => { + const e = event || window.event; if (e.keyCode === 27) { - $html.classList.remove('is-clipped'); closeModals(); + closeDropdowns(); } }); function closeModals() { + $html.classList.remove('is-clipped'); $modals.forEach($el => { $el.classList.remove('is-active'); }); diff --git a/docs/lib/main.js b/docs/lib/main.js index 66b584b11..1b970f77a 100644 --- a/docs/lib/main.js +++ b/docs/lib/main.js @@ -9,17 +9,19 @@ document.addEventListener('DOMContentLoaded', function () { if ($dropdowns.length > 0) { $dropdowns.forEach(function ($el) { $el.addEventListener('click', function (event) { - console.log('dropdown', event); event.stopPropagation(); $el.classList.toggle('is-active'); }); }); document.addEventListener('click', function (event) { - console.log('document', event); - $dropdowns.forEach(function ($el) { - $el.classList.remove('is-active'); - }); + closeDropdowns(); + }); + } + + function closeDropdowns() { + $dropdowns.forEach(function ($el) { + $el.classList.remove('is-active'); }); } @@ -59,20 +61,21 @@ document.addEventListener('DOMContentLoaded', function () { if ($modalCloses.length > 0) { $modalCloses.forEach(function ($el) { $el.addEventListener('click', function () { - $html.classList.remove('is-clipped'); closeModals(); }); }); } - document.addEventListener('keydown', function (e) { + document.addEventListener('keydown', function (event) { + var e = event || window.event; if (e.keyCode === 27) { - $html.classList.remove('is-clipped'); closeModals(); + closeDropdowns(); } }); function closeModals() { + $html.classList.remove('is-clipped'); $modals.forEach(function ($el) { $el.classList.remove('is-active'); });