在悬停时使用jQuery UI菜单不适用于子菜单

时间:2014-06-09 12:00:36

标签: javascript jquery jquery-ui menu submenu

我在我的应用中使用jQuery UI Menu插件。我有一个问题。

在子菜单(第2级)中如果我将鼠标重复悬停在单个子菜单项上,则有时不会发生悬停操作。

ITEM 1

ITEM 2

ITEM 3 -> ITEM 3-1 

          ITEM 3-2     


ITEM 4

ITEM 5 

在此解释方案:

我从这里复制了演示示例http://api.jqueryui.com/menu/#entry-examples,并在第3-2项下添加了一个子菜单级别。 现在将鼠标悬停在第3-2项下一级,但是如果我重复悬停,那么在悬停的某个点上,下一级别没有出现。

要重现此问题,请按照以下步骤操作

  1. 将鼠标悬停在第3项 - 显示菜单
  2. 鼠标悬停在项目3-2上 - 显示子菜单
  3. 从子菜单中退出鼠标 - 但是,请勿在菜单外单击,以便第3项菜单仍然打开。
  4. 现在将鼠标悬停在项目3-2上(选择在步骤2中选择的相同项目,在此菜单项上重复执行并检查) - 子菜单未来。

1 个答案:

答案 0 :(得分:1)

绑定到根菜单的mouseleave事件应该运行collapseAll(event,true),而不是直接绑定到collapseAll(),例如。

jquery.ui.menu.js的第102行

            mouseleave: "collapseAll",
            mouseleave: function( event ){
                this.collapseAll( event, true );
            },