Highcharts:设置'选择'在一个点上陈述并在鼠标悬停后维护它?

时间:2015-06-03 14:59:41

标签: javascript highcharts

我使用Highcharts并尝试在某个点上设置select状态并保持状态。

我可以将状态设置得很好,就像这样:

var chart = new Highcharts.Chart(options);
chart.get('b').setState('select');

但是当用户将鼠标悬停在该点之外时,该状态将被取消。

这是一个JSFiddle示例 - 尝试将鼠标悬停在红点上并观察它失去select状态:AsyncCompletedEventArgs.UserState

即使在鼠标悬停之后,状态仍然不能维持,因为它是select状态,而不是hover

我想要的只是将点设置为红色,并保持红色。我是否可以设置一个不受鼠标悬停影响的自定义状态?

2 个答案:

答案 0 :(得分:2)

我最终通过使用:

设法解决了这个问题
point.select(true, true);

而不是

point.setState('select');

后者没有证件,而第一种似乎是官方的做事方式。

答案 1 :(得分:0)

似乎状态只是更改为hover,只要您不将其设置回来,就不会返回。一切都应该如此。

您可以做的是跟踪该点上的mouseout事件并再次分配状态。但是它会从红色变为灰色到红色。

我建议避免为此目的使用状态。我不知道你的商业案例,但如果它只是关于点颜色,你可以明确地将它添加到没有状态的点:

    data: [
        {'id': 'a', 'x': 185.4, 'y': 66.8}, 
        {'id': 'b', 'x': 177.8, 'y': 75.5, color: "red" }, 
        {'id': 'c', 'x': 180.3, 'y': 93.2}
    ]

Fiddle