首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击Ext.menu.Menu中的菜单项

单击Ext.menu.Menu中的菜单项
EN

Stack Overflow用户
提问于 2015-04-15 23:39:23
回答 2查看 3.7K关注 0票数 4

我有一个按钮,一旦点击,将展开菜单项,我希望能够通过java脚本控制台以编程方式单击这些菜单项之一。下面是单击该按钮所需的内容,但需要一些有关单击Ext.menu.Menu的帮助

代码语言:javascript
复制
var fireButton=Ext.ComponentQuery.query('button[itemId=buttonID]')[0]; //find button id
fireButton.fireEvent('click'); //open button/submenu

var ok = Ext.ComponentQuery.query('menuitem');//多余的菜单项

//如何点击菜单项??

这是我的菜单:

代码语言:javascript
复制
menuButton: new Ext.menu.Menu({
    items: [
       {text: 'OK', value: 'ok'},
       {text: 'Next', value: 'next'},
    ],
    listeners: {
        click: 'onClickMenuButton',
    }

onClickMenuButtonItem: function(menu, item){
    this.makeVisible(menu, item);
},

makeVisible: function(menu, item){
        var menuItem = Ext.getCmp(item.value);
        menuItem.isVisible()){
        menuItem.setVisible(false);
        item.setIconCls('plusSign');
}),

var openMenu = Ext.ComponentQuery.query('button[itemId=buttonID]')[0];
openMenu.fireEvent('click', openMenu);
var clickMenu = Ext.ComponentQuery.query("menu")[0]
clickMenu.items.filter('text','OK').fireEvent('click'); //Don't work!
EN

回答 2

Stack Overflow用户

发布于 2015-04-16 02:04:46

我希望这个小提琴在某种程度上是你想要的-

https://fiddle.sencha.com/#fiddle/lai

注意,我在一个动态创建的项中提供了cls: 'test',然后使用Ext.query(".test");获取该项。

您还可以使用以下查询搜索菜单项-

代码语言:javascript
复制
var item = Ext.ComponentQuery.query('menuitem{text.search( \'Item 1\' )!=-1}');
item[0].fireEvent('click')

并且菜单项必须将点击监听程序注册为-

代码语言:javascript
复制
{
    text: 'Item 1' ,
    iconCls: 'add16',
    cls: 'test',
    listeners: {
        click: function(){
            console.log('clicked')
        }
    }
}
票数 1
EN

Stack Overflow用户

发布于 2015-04-16 01:58:20

xtype:menuitem有一个名为-down的方法,它会让你得到第一个孩子。我不确定您使用的是哪个版本,所以我链接到最新的文档;但是,4.x也有这种方法。

值得注意的是,down还可以将选择器作为参数。

对于ex (在设置了itemid的位置使用cmp ):

代码语言:javascript
复制
this.down("#itemidvaluehere")

编辑

在显示菜单的更新后更新:

我会在控制台中像这样尝试:

代码语言:javascript
复制
var mn=Ext.ComponentQuery.query("menu")[0]
mn.items.filter('text','OK').fireEvent('click');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29654630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档