我在主干应用程序中使用高图派图 - 图例。如果我点击饼图的一部分,它只会调用后端一次。如果我再次单击某个部分而不重新绘制图表,那么即使只有1个调用后端也是如此。但是,如果我通过单击图例重新绘制图表,然后单击饼图的一部分,则会调用两次后端。我可以在firebug调试器的控制台上看到它。如果我再次通过任何更改重新绘制图表,则后端的调用会相应增加。如何在单击饼图图表时限制这些不需要的多次调用。 点击legent也被捕获并保留。当我点击饼图时,它会累积点击次数并通过模型向后端发送多个调用。 谢谢你的到来。
代码如下:
chart: {
backgroundColor: null,
events:{
redraw: function() {
var dataObj = this.series[0].data;
$.each(dataObj, function( index ) {
var pathObj = dataObj[index].graphic.element;
pathObj['contentValue']=dataObj[index].name;
$(pathObj).popoverClosable({
container:'div#chart-donut',
html: true,
trigger:'click',
placement: 'top',
content:'<div class="popover-dummy"></div>'
});
$(pathObj).on('click', function () {
//render the corresponding popover content
var spinner = new Spinner().spin();
$('div.popover-dummy').html(spinner.el);
var contentCategory=pathObj.point.name;
var model = Backbone.model;
if(!that.brandDetailsPopoverView || that.brandDetailsPopoverView == null){
that.brandDetailsPopoverView = new BrandDetailsPopoverView({model:model,brandName:that.selectedBrandName,topicId:that.curTopicId,brandId:that.brandId,contentCategory:contentCategory,groupId: that.selectedGroupId,el:"#discover-popover-content"});
}
that.brandDetailsPopoverView.render(contentCategory);
$('div.popover-dummy').html($('#discover-popover-content').html());
});
});
}
},
margin: [10,20,10,10]
},