2

目前,我在敲击键盘快捷键后打开一个上下文菜单。

如何关注(并选择/突出显示)上下文菜单的特定菜单项?这样就可以通过点击返回键来执行项目的处理程序。我正在运行 ExtJS 4.1。

这就是我目前正在做的:

myMenu.showBy(divElement); // divElement is a DOM object
myMenu.items.items[2].focus(); // focus on 3rd menu item
myMenu.doConstrain(); // move floating component into a constrain region

尽管如此,焦点仍保持在菜单元素本身上。

4

1 回答 1

2

查看源代码表明这是使用以下setActiveItem()方法完成的:

var the_menu = Ext.create('Ext.menu.Menu', {
  items: [
    {
      itemId: 'foo',
      text: 'Foo'
    },
    {
      itemId: 'bar',
      text: 'Bar'
    }
  ]
}).showBy(document.getElementById('some_div'));

the_menu.setActiveItem(the_menu.down('#bar'));

请注意,此方法是privatecanActivateItem(item),但是deactivateActiveItem(andBlurFocusedItem)public,所以它可能只是一个疏忽。

于 2012-11-08T13:51:01.400 回答