mirror of
https://github.com/chinchang/web-maker.git
synced 2025-07-25 07:51:12 +02:00
add on demand mode loading to cm.
This commit is contained in:
30
src/dropdown.js
Normal file
30
src/dropdown.js
Normal file
@@ -0,0 +1,30 @@
|
||||
// Dropdown.js
|
||||
|
||||
(function($all) {
|
||||
var openDropdown;
|
||||
|
||||
// Closes all dropdowns except the passed one.
|
||||
function closeOpenDropdown(except) {
|
||||
if (openDropdown && (!except || except !== openDropdown)) {
|
||||
openDropdown.classList.remove('open');
|
||||
openDropdown = null;
|
||||
}
|
||||
}
|
||||
function init() {
|
||||
var dropdowns = [].slice.call($all('[dropdown]'));
|
||||
dropdowns.forEach(function (dropdown) {
|
||||
dropdown.addEventListener('click', function (e) {
|
||||
closeOpenDropdown(e.currentTarget);
|
||||
e.currentTarget.classList.toggle('open');
|
||||
openDropdown = e.currentTarget;
|
||||
e.stopPropagation();
|
||||
});
|
||||
});
|
||||
|
||||
document.addEventListener('click', function () {
|
||||
closeOpenDropdown();
|
||||
});
|
||||
}
|
||||
|
||||
init();
|
||||
})($all);
|
Reference in New Issue
Block a user