Я имею дело с виджетом меню jqueryUI и получил неправильное поведение.
Посмотрите на следующие фрагменты кода и схему меню ниже: Как видите, меню открыто до третьего уровня. Я намерен закрыть весь второй пункт меню одним щелчком мыши. Итак, я хочу щелкнуть «Элемент 2», и все соответствующие подэлементы должны исчезнуть (2.x, 2.xx). К сожалению, в настоящее время мне нужно дважды щелкнуть элемент главного меню, чтобы достичь этого.
Элемент 1
- Элемент 1.1
Элемент 2
- Позиция 2.1
- Позиция 2.2
--- Позиция 2.2.1
--- Позиция 2.2.2
--- Позиция 2.2. 3
- Элемент 2.3
Ответственная функция структурирована следующим образом:
collapseAll: function (event, all) {
clearTimeout(this.timer);
this.timer = this._delay(function () {
// If we were passed an event, look for the submenu that contains the event
var currentMenu = all ? this.element :
$(event && event.target).closest(this.element.find(".ui-menu"));
// If we found no valid submenu ancestor, use the main menu to close all sub menus anyway
if (!currentMenu.length) {
currentMenu = this.element;
}
this._close(currentMenu);
this.blur(event);
this.activeMenu = currentMenu;
}, this.delay);
}
,
Есть идеи?