将点击侦听器附加到菜单项

时间:2018-10-12 18:45:11

标签: javascript extjs

我是ExtJS的新手,所以去了。我正在即时创建菜单;仅当我点击某个元素(例如按钮或图像。菜单中有两个项目,我希望它们能够执行特定的功能,即单击任何一个菜单项目时都是唯一的。

var menu = Ext.create('Ext.menu.Menu', {
  bodyStyle: 'backgroundColor: #FFF;',
  renderTo: targetElement,
  showSeparator: false,
  floating: true,
  items: [
      { 
          // When clicked do A
          text: 'A',
          plain: true,
          cls: 'menu-item'
      },
      {
          // When clicked do B
          text: 'B',
          plain: true,
          cls: 'menu-item'
      }
  ]
});

我尝试将点击侦听器附加到每个菜单项,但这似乎不起作用,请参见下面的代码段。

{ 
    // When clicked do A
    text: 'A',
    plain: true,
    cls: 'menu-item',
    listeners: {
      click: function(item, e, eOpts) {
         console.log("Foo");
      }
    }
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在创建菜单后使用 menu.showBy()来适当地放置浮动菜单,并在创建菜单时省略 renderTo 配置。