DevExtreme onLegendClick 防止 onSeriesClick

DevExtreme onLegendClick prevent onSeriesClick

我想 show/hide 通过单击图表的图例来创建系列,并在单击实际图表(在条形图、折线图等上)时调用另一个函数。 为此,我们可以使用 2 个函数:

onLegendClick: function (e) {
    console.log('on Legend Click');
    var series = e.target;
    if (series.isVisible()) {
       series.hide();
    } else {
       series.show();
    }
},
onSeriesClick: function (e) {
   console.log('on Series Click');
   // more code here
}

在有关点击处理的 DevExtreme 文档 (here) 中,我发现了以下关于 onLegendClick 的注释:

If the onLegendClick option is not specified, a click on the legend will invoke the function assigned to the onSeriesClick option in Chart. To prevent this behavior, assign at least an empty function to the onLegendClick field.

但是,看起来即使我定义了 onLegendClick 函数,onSeriesClick 仍然会被调用。请看附件codepen example

我做错了什么?有任何想法吗 ?

根据 documentation,您可以使用以下方式取消活动:

e.event.cancel = true;

在您的 onLegendClick 处理程序中