Skip to content

Instantly share code, notes, and snippets.

@altintx
Last active April 18, 2017 15:50
Show Gist options
  • Save altintx/e56da8914873ae4db693eef36e2ccaa7 to your computer and use it in GitHub Desktop.
Save altintx/e56da8914873ae4db693eef36e2ccaa7 to your computer and use it in GitHub Desktop.
In bootstrap 4 alpha 6 dropdown menus don't open. These jQuery listeners fix it.
$(document).on('click', ".dropdown [data-toggle=dropdown]", function(eve){
const button = $(eve.target),
dropdownContainer = button.parent(".dropdown");
const closeMenu = function() {
dropdownContainer.removeClass("show");
$(document).unbind("click", docListener);
$("a", dropdownContainer).unbind("click", menuClickListener);
};
const docListener = function(ev) {
const target = $(ev.target);
if ($.contains(dropdownContainer[0], target[0])) {
// clicked link in menu
} else {
closeMenu();
}
};
const menuClickListener = function(ev) {
setTimeout(closeMenu, 100);
};
dropdownContainer.addClass("show");
$("a", dropdownContainer).click(menuClickListener);
$(document).click(docListener);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment