Highcharts 没有在条形图/列单击上向下钻取

Highcharts no drilldown on bar / column click

我有以下用例:在一个页面上有一个带有向下钻取的 Highcharts 列 as in this example。 单击条形下方的标签时,我想默认进行向下钻取。但是,当单击栏/列本身时,我不想向下钻取而是获取有关单击栏的信息(例如类别名称)。这怎么可能?

到目前为止,我尝试的是使用 jQuery 评估点击事件,然后使用 "return false;" 停止向下钻取。问题是我没有办法检索列数据,因为 JavaScript 对象本身不可访问。 然后我所做的是使用 "drilldown" 事件。我现在可以轻松访问对象数据/属性,但有两个困难:

  1. 如何识别是否点击了栏或栏下方的标签?
  2. 如果单击栏,如何防止向下钻取?

提前感谢您的提示和提示!

安迪

您可以包装 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)

现场演示:http://jsfiddle.net/L51c8fa4/