change the submenu behavior
This commit is contained in:
Родитель
3f9c8b7781
Коммит
1228d3bd39
|
@ -36,26 +36,14 @@ export function renderDropdownSubmenu(dropdownSubmenu, renderItem) {
|
|||
}, dropdownSubmenu);
|
||||
|
||||
const html = dropdownSubmenuTemplate(options);
|
||||
const selector = `li#${options.id}`;
|
||||
|
||||
events[`click #${options.button.id}`] = function (e) {
|
||||
const $menu = this.$(`#${options.menu.id}`);
|
||||
const hideMenu = () => {
|
||||
$menu.hide();
|
||||
$(document).off('click', hideMenu);
|
||||
};
|
||||
const showMenu = () => {
|
||||
$menu.show();
|
||||
$(document).on('click', hideMenu);
|
||||
};
|
||||
events[`mouseover ${selector}`] = function () {
|
||||
this.$(`#${options.menu.id}`).show();
|
||||
};
|
||||
|
||||
if ($menu.is(':visible')) {
|
||||
hideMenu();
|
||||
} else {
|
||||
showMenu();
|
||||
}
|
||||
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
events[`mouseover ul:has(> ${selector}) > li:not(${selector})`] = function (e) {
|
||||
this.$(`#${options.menu.id}`).hide();
|
||||
};
|
||||
|
||||
return { html, events };
|
||||
|
|
Загрузка…
Ссылка в новой задаче