根据文档,cellclick
事件是您选择的正确的事件。
另外,如果我在Sencha fiddle上试用它,它似乎没有问题。我把基本的例子,从页面并添加单元格单击事件
Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
store: Ext.data.StoreManager.lookup('simpsonsStore'),
columns: [
{ text: 'Name', dataIndex: 'name' },
{ text: 'Email', dataIndex: 'email', flex: 1 },
{ text: 'Phone', dataIndex: 'phone' }
],
listeners: {
'cellclick': function() {
alert('hey');
}
},
height: 200,
width: 400,
renderTo: Ext.getBody()
});
的EL表示HTML元素,据我所知,并且将意味着事件由创建的HTML元素触发网格,而cellclick事件相当于网格的ExtJS事件。作为一个例子,这也是可行的,但是突然点击单元格的单元格时单击单元格时单元格事件不会触发的标题单元格会起作用。
请注意,我已经改变了事件点击,而不是cellclick,如cellclick不是DOM事件
Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
store: Ext.data.StoreManager.lookup('simpsonsStore'),
columns: [
{ text: 'Name', dataIndex: 'name' },
{ text: 'Email', dataIndex: 'email', flex: 1 },
{ text: 'Phone', dataIndex: 'phone' }
],
listeners: {
click: {
element: 'el',
fn: function() {
alert('hey');
}
}
},
height: 200,
width: 400,
renderTo: Ext.getBody()
});
你可以找到更多的听众配置选项documentation页面上
顺便说一句,给出足够精确的ExtJS版本非常重要,因为在一个主要版本中也有一些变化(并且每个Subversion有不同的文档(例如:5.0.1,5.1.0 ,5.1.1,...)
你可以告诉,你正在使用哪个ExtJS版本? –
感谢您的回复,我使用ExtJS5 – Joe
根据此,https://docs.sencha.com/extjs/5.1/5.1.0-apidocs/#!/api/Ext.grid.Panel-event-cellclick,它应该没有问题,他们的方式你做(虽然,它不需要'EL') – Icepickle