Highcharts 没有在条形图/列单击上向下钻取
Highcharts no drilldown on bar / column click
我有以下用例:在一个页面上有一个带有向下钻取的 Highcharts 列 as in this example。
单击条形下方的标签时,我想默认进行向下钻取。但是,当单击栏/列本身时,我不想向下钻取而是获取有关单击栏的信息(例如类别名称)。这怎么可能?
到目前为止,我尝试的是使用 jQuery 评估点击事件,然后使用 "return false;" 停止向下钻取。问题是我没有办法检索列数据,因为 JavaScript 对象本身不可访问。
然后我所做的是使用 "drilldown" 事件。我现在可以轻松访问对象数据/属性,但有两个困难:
- 如何识别是否点击了栏或栏下方的标签?
- 如果单击栏,如何防止向下钻取?
提前感谢您的提示和提示!
安迪
您可以包装 doDrilldown
方法,然后决定应该发生什么以及何时发生,片段:
(function (H) {
H.wrap(H.Point.prototype, 'doDrilldown', function (p, hold, x) {
var UNDEFINED;
if (x !== UNDEFINED) {
p.call(this, hold, x); // x is defined when clicked on a category
} else {
myFun(this); // call your method after click on a bar
}
});
})(Highcharts)
我有以下用例:在一个页面上有一个带有向下钻取的 Highcharts 列 as in this example。 单击条形下方的标签时,我想默认进行向下钻取。但是,当单击栏/列本身时,我不想向下钻取而是获取有关单击栏的信息(例如类别名称)。这怎么可能?
到目前为止,我尝试的是使用 jQuery 评估点击事件,然后使用 "return false;" 停止向下钻取。问题是我没有办法检索列数据,因为 JavaScript 对象本身不可访问。 然后我所做的是使用 "drilldown" 事件。我现在可以轻松访问对象数据/属性,但有两个困难:
- 如何识别是否点击了栏或栏下方的标签?
- 如果单击栏,如何防止向下钻取?
提前感谢您的提示和提示!
安迪
您可以包装 doDrilldown
方法,然后决定应该发生什么以及何时发生,片段:
(function (H) {
H.wrap(H.Point.prototype, 'doDrilldown', function (p, hold, x) {
var UNDEFINED;
if (x !== UNDEFINED) {
p.call(this, hold, x); // x is defined when clicked on a category
} else {
myFun(this); // call your method after click on a bar
}
});
})(Highcharts)