我需要添加一些自定义按钮(带有onclick事件),而不会覆盖导出按钮值,因为我想要包含新按钮而不会丢失先前在图表中定义的自定义按钮(我的图表已经定义了自定义按钮) ),所有这些在运行时,在使用此对象的Highcharts图表中:
$('容器&#39)。highcharts()
这可能吗?
答案 0 :(得分:19)
您可以使用导出对象添加自定义按钮:
exporting: {
buttons: {
customButton: {
text: 'Custom Button',
onclick: function () {
alert('You pressed the button!');
}
},
anotherButton: {
text: 'Another Button',
onclick: function () {
alert('You pressed another button!');
}
}
}
}
编辑: 他想在配置后添加按钮
var chart = $('#container').highcharts();
normalState = new Object();
normalState.stroke_width = null;
normalState.stroke = null;
normalState.fill = null;
normalState.padding = null;
normalState.r = null;
hoverState = new Object();
hoverState = normalState;
hoverState.fill = 'red';
pressedState = new Object();
pressedState = normalState;
var custombutton = chart.renderer.button('button', 74, 10, function(){
alert('New Button Pressed');
},null,hoverState,pressedState).add();
新小提琴:http://jsfiddle.net/NxK39/2/ 使用Highcharts: replace custom button image on hover
中的技术回答答案 1 :(得分:5)
<强> JS 强>
chart.renderer.button('Reset zoom', null, null, chart.resetZoom, {
zIndex: 20
}).attr({
align: 'right',
title: 'Reset zoom level 1:1'
}).add(chart.zoomGroupButton).align({
align: 'right',
x: -10,
y: 10
}, false, null);
最初在此处找到:http://forum.highcharts.com/viewtopic.php?f=9&t=15416
如果您需要传递任何信息,请执行以下操作:
chart.renderer.button('Reset zoom', null, null, function(){ myFunction(chart) }, {
zIndex: 20
}).attr({
align: 'right',
title: 'Reset zoom level 1:1'
}).add(chart.zoomGroupButton).align({
align: 'right',
x: -10,
y: 10
}, false, null);
答案 2 :(得分:0)
如果要使用一些自定义HTML:
this._chart = new Highcharts.Chart(container, options, chart => {
chart.renderer.text('<span class="material-icons">settings</span>', 15, 335, true)
.attr({ zIndex: 3 })
.add();
});