gpt4 book ai didi

javascript - 定制钻头不再起作用

转载 作者:行者123 更新时间:2023-12-03 09:09:22 24 4
gpt4 key购买 nike

我们一直在运行自定义钻取代码集来处理可能有也可能没有可钻取节点的多个系列。自 HighStock 2.1.6 版本以来,我们已经看到过这样的情况:如果 category[0] 没有任何可钻取项目,并且我们单击了一个类别(例如 category[7] )并且它有 2 个 child ,每个 child 都有 child 。然后我们单击每个子项直到最后一项。应该发生的情况是,它发现该节点没有子节点,并且应该将图表重置为初始状态。它会执行此操作,但随后会将初始加载中的第一个类别标记为有子级,而实际上没有子级。然后用户认为他们可以点击它。此问题会向下级联钻取节点,以便每当类别索引被标记为具有子级时,它总是被标记为具有子级。

视觉表示可以更好地解释这一点。

工作中的 jsFiddle 在这里:http://jsfiddle.net/wergeld/7yd6v8Lq/

这里的 jsFiddle 不起作用:http://jsfiddle.net/wergeld/taay2p9z/

单击“制造”栏。然后点击“耐用品”栏。然后点击“木制品制造”。这将返回到初始图表状态。对于工作图表来说,它看起来是一样的。对于非工作示例,请注意,单击“耐用品”后,“木制品制造”似乎有子项,然后单击它,它会返回到初始数据集,其中“非农业总额”和“私有(private)总额” “现在看起来已经有 child 了。

在最新版本的 Highcharts/stock 下如何防止这种情况发生?

最佳答案

H.Tick.prototype.drillable函数中,您可以向检查点.drilldown添加信息。如果存在则打印带下划线的标签。

包装后的代码:

H.Tick.prototype.drillable = function () {
var pos = this.pos,
label = this.label,
axis = this.axis,
ddPointsX = axis.ddPoints && axis.ddPoints[pos];


if (this.drilldown && label && ddPointsX && ddPointsX.length) {
if (!label.basicStyles) {
label.basicStyles = H.merge(label.styles);
}
label
.addClass('highcharts-drilldown-axis-label')
.css(axis.chart.options.drilldown.activeAxisLabelStyle)
.on('click', function () {
axis.drilldownCategory(pos);
});

} else if (label && label.basicStyles) {
label.styles = {}; // reset for full overwrite of styles
label.css(label.basicStyles);
label.on('click', null); // #3806
}
};

示例:http://jsfiddle.net/taay2p9z/7/

关于javascript - 定制钻头不再起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32127659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com