我在控制器中为我的系列图表创建'itemmouseup'事件的监听器时遇到了麻烦。
控制器:
init: function () {
this.control({
'monthbalance > chart': {
render: this.onChartRendered,
itemmouseup : this.onChartClick
},
});
},
如果我插入'mouseup'事件而不是'itemmouseup'它可以正常工作。但我需要'itemmouseup'。我哪里错了?
感谢。
使用视图提取更新:
},{
id: 'card-1',
xtype: 'chart',
store: 'MonthBalances',
title: 'This Year vs Previous Years',
theme: 'Category1',
legend: {position: 'right'},
shadow: true,
axes: [{
type: 'Numeric',
position: 'left',
fields: ['monthbalance','monthlastyear','monthpreviousyear'],
label: {
renderer: Ext.util.Format.numberRenderer('0,0')
},
grid: true,
minimum: 0
},{
type: 'Category',
position: 'bottom',
fields: ['month']
}],
series: [{
type: 'line',
title: 'this year',
itemId: 'lineone',
highlight: {
size: 7,
radius: 7
},
axis: 'left',
xField: 'month',
yField: 'monthbalance',
// listeners: {
// itemmouseup: function() {
// console.log('itemmouseup-thisyear');
// }
// },
},{
type: 'line',
title: 'one year ago',
itemId: 'linetwo',
highlight: {
size: 7,
radius: 7
},
axis: 'left',
xField: 'month',
yField: 'monthlastyear',
},{
type: 'line',
id: 'linethree',
name: 'linethree',
itemId: 'linethree',
alias: 'widget.linethree',
title: 'two years ago',
highlight: {
size: 7,
radius: 7
},
axis: 'left',
xField: 'month',
yField: 'monthpreviousyear',
}]
}];
答案 0 :(得分:1)
因为 Chart 没有itemmouseup
事件。此活动仅适用于展开Ext.view.View
或Ext.panel.Table
我认为您需要直接访问该系列而不是图表 举行系列。将控件设置为您在图表中使用的系列本身,而不是图表。 您可以通过设置系列图表的 id 属性来执行此操作,以便可以将控件绑定到该ID。
// untested but it should work
init: function () {
this.control({
'#your-id': {
itemmouseup : this.onChartClick
},
});
},