Events 向网格中的XTemplate元素类添加事件侦听器
我在网格面板中有一列XTemplate单元格。如何添加适用于此特定列上所有单元格的单击事件/侦听器?到目前为止,我所尝试的方法是有效的,但适用于网格中任何单元格上的所有单击。我似乎无法操纵委托选项来筛选特定的元素类 到目前为止,我的代码是:Events 向网格中的XTemplate元素类添加事件侦听器,events,grid,extjs4,listener,Events,Grid,Extjs4,Listener,我在网格面板中有一列XTemplate单元格。如何添加适用于此特定列上所有单元格的单击事件/侦听器?到目前为止,我所尝试的方法是有效的,但适用于网格中任何单元格上的所有单击。我似乎无法操纵委托选项来筛选特定的元素类 到目前为止,我的代码是: columns:[ ... { xtype: 'templatecolumn', text: 'Approve2', flex: 1, dataIndex: 'Approved', align: 'center',
columns:[
...
{
xtype: 'templatecolumn',
text: 'Approve2',
flex: 1,
dataIndex: 'Approved',
align: 'center',
sortable: false,
tpl: '<input type="checkbox" class="approveCheckbox" />'
},
...
],
initComponent: function () {
this.on('itemclick', this.storeCheckboxVal, this, { delegate: '.approveCheckbox' });
},
...
,
storeCheckboxVal: function (view, record, item, index, event) {
alert(record.data['ID']);
}
列:[
...
{
xtype:'templatecolumn',
文本:“批准2”,
弹性:1,
数据索引:“已批准”,
对齐:'居中',
可排序:false,
第三方物流:''
},
...
],
initComponent:函数(){
this.on('itemclick',this.storeCheckboxVal,this,{delegate:'.approveCheckbox'});
},
...
,
storeCheckboxVal:函数(视图、记录、项、索引、事件){
警报(记录.数据['ID']);
}
您可能需要将网格的selType更改为cellmodel
。之后,您应该能够听到网格视图的cellclick。这似乎没有文档记录,但我使用Ext.util.obersavable.capture(Ext.getCmp('my-grid')、console.log)
发现了它,这是一个非常有用的技巧。您可能需要将网格的selType更改为cellmodel
。之后,您应该能够听到网格视图的cellclick。这似乎没有文档记录,但我使用Ext.util.obersavable.capture(Ext.getCmp('my-grid')、console.log)
发现它,这是一个非常有用的技巧。AFAIK,委托
仅当您将处理程序分配给DOM元素(而不是组件)时才起作用。请尝试以下代码:
initComponent: function () {
this.mon(this.el, 'click', this.storeCheckboxVal, this, { delegate: '.approveCheckbox' });
},
好的,
delegate
仅当您将处理程序分配给DOM元素(而不是组件)时才起作用。请尝试以下代码:
initComponent: function () {
this.mon(this.el, 'click', this.storeCheckboxVal, this, { delegate: '.approveCheckbox' });
},
感谢所有回复,但我已通过此解决方案解决了我的问题:感谢所有回复,但我已通过此解决方案解决了我的问题: