在我的extjs网格'cutterGrid'中,我有一个具有以下输出的渲染器
<a href="#" class="myclass">Product 1</a>
在我的控制器上我有以下
'#cutterGrid':{
cellclick :this.onCutterSelectRow
},
这样可行,但显然可以点击整行。我只想在特定的细胞上使用它。
这是我网格中的字段
{
xtype:'gridcolumn',
dataIndex:'CutterNumber',
text:'Cutter',
renderer: renderCutter,
flex:1,
sortable: true
},
答案 0 :(得分:2)
cellclick事件将几个参数传递给您的函数 - 其中一个是EventObject
cellclick( Ext.view.Table this, HTMLElement td, Number cellIndex, Ext.data.Model record, HTMLElement tr, Number rowIndex, Ext.EventObject e, Object eOpts )
在你的功能中,你应该能够这样做:
function onCutterSelectRow(table, td, cellIndex, record, tr, rowIndex, e, eOpts)
{
var target = e.getTarget();
//test HtmlElement target to be your anchor, by class name and element.
}
答案 1 :(得分:1)
订阅ahref
事件的问题是你需要等到呈现HTML元素然后只订阅它。当我在表单上有一个我需要听的链接时,我做了类似的事情:
{
xtype: 'box',
autoEl: '<a href='#'>Link</a>',
listeners: {
render: function(e) {
e.getEl().down('a').on('click', function() {
console.log('GOTCHA!');
}, e);
}
}
}