ExtJS:特定于键盘焦点的上下文菜单项

时间:2012-11-07 15:11:54

标签: extjs extjs4 extjs4.1

目前我在键盘快捷键敲击后打开context menu

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

仍然,焦点在菜单元素本身上保持。

1 个答案:

答案 0 :(得分:2)

查看source后发现,这是使用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'));

请注意,此方法为私有,但canActivateItem(item)deactivateActiveItem(andBlurFocusedItem) public ,因此可能只是疏忽。