【问题标题】:Highcharts no drilldown on bar / column clickHighcharts 在条形图/柱形图上没有向下钻取点击
【发布时间】:2016-03-01 20:41:45
【问题描述】:

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

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

  1. 如何判断是否点击了某条或该条下方的标签?
  2. 如果点击了条形,如何防止向下钻取?

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

安迪

【问题讨论】:

  • 你可以让栏的点击事件尝试阻止默认的点击行为

标签: javascript highcharts drilldown


【解决方案1】:

你可以包装doDrilldown方法,然后决定什么时候发生什么,sn-p:

(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/

【讨论】:

  • 非常感谢,这完美!只有一个问题:这是否记录在 Highcharts 文档中,或者如何提出这样的解决方案?
  • 我在 Highcharts 工作 ;) 我们监控 stackoverflow 以及我们的论坛或电子邮件。通常extending Highcharts 已记录在案。但是要找到合适的包装方法,您需要深入研究源代码。
猜你喜欢
  • 2023-04-07
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2018-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多