Javascript 如何在Highcharts中单击更改一点颜色

Javascript 如何在Highcharts中单击更改一点颜色,javascript,highcharts,Javascript,Highcharts,我试图改变散点图点的颜色,一次一个。我有下面的代码可以使用,但我不知道当你点击第二个点时如何更改颜色 例如,我希望它能够工作,因此,如果默认情况下所有的点都是黄色的,并且您单击点A,则点A单独变为黑色。然后单击点B时,点B变为黑色,点A变回黄色 plotOptions: { series: { point: { events: { click: function() { var

我试图改变散点图点的颜色,一次一个。我有下面的代码可以使用,但我不知道当你点击第二个点时如何更改颜色

例如,我希望它能够工作,因此,如果默认情况下所有的点都是黄色的,并且您单击点A,则点A单独变为黑色。然后单击点B时,点B变为黑色,点A变回黄色

plotOptions: {
    series: {
        point: {
            events: {
                click: function() {
                    var thisPoint = this.options;
                    thisPoint.color = 'black';
                    this.update(thisPoint, true);
                }
            }
        }
    }
},

您可以存储一个包含上次单击点的变量,例如(在外部范围中):

然后在单击事件中:

plotOptions: {
    series: {
        point: {
            events: {
                click: function() {
                    // If we have a previous point, reset its color
                    if(previousPoint)
                        previousPoint.update({color: previousPoint.originalColor});
                    // Set this points color to black
                    this.update({color: 'black', originalColor: this.color});
                    // Make it our previous point
                    previousPoint = this;
                }
            }
        }
    }
}
看看它在用什么

如果您不想用额外的变量(originalColor)将点弄乱,您还可以在外部范围中放置一个
previousColor
,以及
previousPoint

plotOptions: {
    series: {
        point: {
            events: {
                click: function() {
                    // If we have a previous point, reset its color
                    if(previousPoint)
                        previousPoint.update({color: previousPoint.originalColor});
                    // Set this points color to black
                    this.update({color: 'black', originalColor: this.color});
                    // Make it our previous point
                    previousPoint = this;
                }
            }
        }
    }
}