Javascript extjs-单击事件的多个委托

Javascript extjs-单击事件的多个委托,javascript,events,extjs,delegates,extjs4.2,Javascript,Events,Extjs,Delegates,Extjs4.2,我怎样才能使我有多个代表团?下面的代码是我尝试的代码,但最终没有成功 listeners: { el: [{ delegate: '.my-boundlist-item-menu', click: function(cmp) { console.log('1'); } },{ delegate: '.my-boundlist-item-menu-2', click: func

我怎样才能使我有多个代表团?下面的代码是我尝试的代码,但最终没有成功

listeners: {
    el: [{
        delegate: '.my-boundlist-item-menu',
        click: function(cmp) {
            console.log('1');

        }
    },{
        delegate: '.my-boundlist-item-menu-2',
        click: function(cmp) {
            console.log('2');

        }
    }]
  }
我还尝试了以下方法,但没有成功:

listeners: {
   itemclick: function(record, item, index, e, eOpts){
                    if (eOpts.getTarget('.my-boundlist-item-menu')) {
                        console.log('1');
                    } else if (eOpts.getTarget('.my-boundlist-item-menu-2')) {
                        console.log('2');
                    } else {
                        console.log('3');
                    }
                }
  }
但这两种方法似乎都不管用。关于如何使其正常工作的想法和/或帮助

编辑:按要求,下面是我的组合框代码:

{
xtype: 'combobox',
displayTpl: Ext.create('Ext.XTemplate',
'<tpl for=".">',
'<tpl if="FirstName">',
'{FirstName}',
'</tpl>',
' ',
'<tpl if="LastName">',
'{LastName}',
'</tpl>',
'</tpl>'),
x: 10,
y: 60,
listConfig: {
    tpl: '<div class="my-boundlist-item-menu" style="cursor:pointer;padding:2px;border:1px dotted #fff" onmouseover="this.className=\'my-boundlist-item-menu x-boundlist-item-over\'" onmouseout="this.className=\'my-boundlist-item-menu\'" >Add New Contact</div>'+'<div class="my-boundlist-item-menu-2" style="cursor:pointer;padding:2px;border:1px dotted #fff" onmouseover="this.className=\'my-boundlist-item-menu x-boundlist-item-over\'" onmouseout="this.className=\'my-boundlist-item-menu\'" >Use Myself</div>'+'<tpl for=".">'+'<div class="x-boundlist-item">'+'<tpl if="FirstName">{FirstName} </tpl>'+'<tpl if="LastName">{LastName}</tpl>'+'</div></tpl>',
    listeners: {
        el: [
            {
                delegate: '.my-boundlist-item-menu',
                click: function(cmp) {
                            console.log('1');

                        }
            },
            {
                delegate: '.my-boundlist-item-menu-2',
                click: function(cmp) {
                            console.log('2');

                        }
            }
        ]
    }
},
id: 'end-contact',
fieldLabel: 'Location Contact',
labelWidth: 125,
name: 'idContact',
displayField: 'FirstName',
store: 'ContactStore',
valueField: 'idContact',
listeners: {
    expand: {
        fn: me.onexpandend,
        scope: me
    }
}
},
{
xtype:“组合框”,
displayTpl:Ext.create('Ext.XTemplate',
'',
'',
“{FirstName}”,
'',
' ',
'',
“{LastName}”,
'',
''),
x:10,
y:60,
列表配置:{
tpl:'添加新联系人'+'使用我自己'+'++'{FirstName}'+'{LastName}'+',
听众:{
el:[
{
委托:'.my boundlist项菜单',
单击:功能(cmp){
console.log('1');
}
},
{
代表:'.my-boundlist-item-menu-2',
单击:功能(cmp){
console.log('2');
}
}
]
}
},
id:'结束接触',
fieldLabel:“位置联系人”,
标签宽度:125,
名称:“idContact”,
displayField:“FirstName”,
存储:'ContactStore',
valueField:'idContact',
听众:{
扩展:{
fn:me.OneExpandend,
范围:我
}
}
},
el:{
委托:'.my boundlist项菜单',
点击:功能(cmp,a){
console.log('clicked',cmp,a);
}
}
a
将包含正在单击的div

检查文档中的
单击
事件-


第二个参数是容器HTML目标。

您到底想实现什么?另外,请包括代码为您的看法,所以它是清楚的元素层次结构,你有。我只是把我的组合框代码。本质上,我希望我创建的前两个按钮具有不同的过程。我这样做,而不是将其添加到存储中,因为数据在存储中没有意义,因为这只是程序性的,仍然不清楚。你有一个组合框。当用户在这个组合框中选择某个内容时,您需要进行处理,对吗?是的。如果您查看listConfig参数,您将看到我有一个关于如何创建列表的tpl。在执行tpl for循环之前,我输入了2个div,它们被添加到下拉列表中。通常情况下,如果只有1个div,我会使用侦听器,我可以让它委托给我添加的项并完成它,但现在我需要能够区分这两个,并且看不到如何将不同的任务委托给不同的项。我认为这里的主要问题是-您试图在元素(div)运行时配置委托没有创建。您需要等待combobox
render
事件,或者稍后等待
expand
事件,然后-向下搜索渲染的div并将事件处理程序附加到它们。为什么要包括
委托
?我在文档中找不到这一点。我包括了
delegate
,因为原始问题中包含:)(我想……那是1.5年前的事了)谢谢,看起来该选项在Ext JS 5中不再可用。我想他们把它重命名为
元素
。我会注意到,“委托”——如果我没记错的话——是.Net事件处理方法中的术语