Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Highcharts:在点上设置“选择”状态,并在鼠标悬停后保持该状态?_Javascript_Highcharts - Fatal编程技术网

Javascript Highcharts:在点上设置“选择”状态,并在鼠标悬停后保持该状态?

Javascript Highcharts:在点上设置“选择”状态,并在鼠标悬停后保持该状态?,javascript,highcharts,Javascript,Highcharts,我正在使用Highcharts并尝试在一个点上设置选择状态并保持该状态 我可以很好地设置状态,如下所示: var chart = new Highcharts.Chart(options); chart.get('b').setState('select'); 但是,当用户将鼠标移到上方,然后离开该点时,该状态将被取消设置 下面是一个JSFIDLE示例-尝试将鼠标移到红点上,观察它是否丢失了select状态: 如果是选择状态,而不是悬停状态,那么即使在鼠标悬停之后,该状态也应该保持吗 我只想将

我正在使用Highcharts并尝试在一个点上设置选择状态并保持该状态

我可以很好地设置状态,如下所示:

var chart = new Highcharts.Chart(options);
chart.get('b').setState('select');
但是,当用户将鼠标移到上方,然后离开该点时,该状态将被取消设置

下面是一个JSFIDLE示例-尝试将鼠标移到红点上,观察它是否丢失了select状态:

如果是选择状态,而不是悬停状态,那么即使在鼠标悬停之后,该状态也应该保持吗


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

看起来该状态只是简单地更改为悬停状态,只要不重新设置,就不会返回。一切照旧

您可以做的是跟踪该点上的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}
    ]

我最终通过以下方法解决了这个问题:

point.select(true, true);
而不是

point.setState('select');

后者没有文件记录,而前者似乎是官方的做事方式

谢谢。我想让用户通过从下拉列表中进行选择来高亮显示一个点,并在用户在图表中的其他位置进行鼠标移动时使其保持高亮显示。必须手动更新颜色并重新绘制图表看起来很混乱,但如果这是唯一的方法:-/还有一个问题:如何将mouseout事件绑定到点变量?尝试点。在'mouseover'上,函数{…};但是得到一个错误。。。。看起来似乎没有办法将mouseout事件绑定到单个点?