更改图表类型后未触发 legendItemClick

legendItemClick not getting triggred after changing chart type

我的 highstock 图表中有一个 legendItemClick 事件。当我单击图例并获取当前系列 ID、类型、yAxis 等时,它会打开一个 jQuery 对话框。这部分工作正常。 如果我动态更改我的图表类型,我将无法第二次调用我的图例项点击。虽然如果我只动态更改图表轴它工作正常。

传奇物品点击代码:

plotOptions: {
line: {
events: { checkboxClick: function () {
alert("checkbox clicked");
},
legendItemClick: function () {
console.log("In legend item click");
console.log(this);
//event.preventDefault();
$("#dialog")
.dialog("open");
$("#legendTable")
.html("");
$('#legendTable')
.append("<tr>"
+"<td>Axis</td><td><select onchange=\"updateSeries("+this.index+")\" id=\"legendAxis\""
+" name=\"legendAxis\"><option value=\"0\">1</option><option"
+" value=\"1\">2</option><option value=\"2\">3</option></select></td>"
+"<td>Type</td><td><select onchange=\"updateSeries("+this.index+")\" id=\"legendType\""
+" name=\"legendType\"><option value=\"line\">Line</option><option"
+" value=\"column\">Column</option><option value=\"area\">Area</option>"
+"<option value=\"bar\">Bar</option>"
+"<option value=\"spline\">Spline</option>"
+"<option value=\"areaspline\">Area Spline</option>"
+"</select></td>"
+"</tr>");
$("#legendAxis").val(this.userOptions.yAxis);
$("#legendType").val(this.userOptions.type);
return false;
}
}
}
}

更新系列代码:

function updateSeries(id) {
console.log("in update");
console.log($("#legendAxis")
.val());
console.log($("#legendType")
.val());
var chart = $('#container')
.highcharts();
chart.series[id].update({
type: $("#legendType")
.val(),
yAxis: parseInt($("#legendAxis")
.val())
});
return;
};

对话框代码:

<div id="dialog" title="Update Series">
<table id="legendTable"></table>

我在下面的代码中使用了行而不是系列。 上一个:

plotOptions: {
line: {
events: { checkboxClick: function () {
alert("checkbox clicked");
},

改为:

plotOptions: {
series: {
events: { checkboxClick: function () {
alert("checkbox clicked");
},