dropdown.js 797 B

12345678910111213141516171819202122232425262728
  1. (function() {
  2. document.addEventListener('DOMContentLoaded', function(event) {
  3. document
  4. .querySelector('[data-toggle="dropdown"]')
  5. .addEventListener('click', toggleDropdown)
  6. document
  7. .querySelector('.dropdown-menu')
  8. .addEventListener('click', function(event) { event.stopPropagation() })
  9. })
  10. function toggleDropdown(event){
  11. event.stopPropagation()
  12. event.preventDefault()
  13. var elem = document.querySelector('.dropdown-menu')
  14. var open = elem.classList.toggle('is-open')
  15. if(elem.setAttribute) // not supported by IE11
  16. elem.setAttribute('aria-expanded', open ? 'true' : 'false')
  17. if(open) {
  18. window.addEventListener('click', toggleDropdown)
  19. } else {
  20. window.removeEventListener('click', toggleDropdown)
  21. }
  22. }
  23. }())