Обновление : После большой борьбы я нашел ответ:
По какой-то неизвестной причине Bootstrap .dropdown-toggle включает stopPropagation.Поэтому, когда он щелкает по нему, больше ничего в дереве документа не слышно.Мое решение состояло в том, чтобы явно включить прослушиватель событий для класса .dropdown-toggle в дополнение к прослушивателю моего документа.
$(document).on('click', function(event) {
if (!$(event.target).closest('#myDropdown').length) {
$('#myDropdown').removeClass("show-menu");
}
});
//listens for Bootstrap .dropdown-toggle
$('.dropdown-toggle').on('click', function(event) {
if (!$(event.target).closest('#myDropdown').length) {
$('#myDropdown').removeClass("show-menu");
}
});
Если у кого-то есть лучшее решение, я с радостью отмечу его как правильный ответ!