【问题标题】:Use Twitter Bootstrap popover with Highcharts将 Twitter Bootstrap 弹出框与 Highcharts 一起使用
【发布时间】:2013-01-03 01:35:57
【问题描述】:

当用户将鼠标悬停在我的条形图中的条上时,我正在尝试使用 Highcharts 实现 Twitter Bootstrap 弹出框 组件。我无法使用 Highcharts 原生的现有工具提示,因为我希望我的用户与弹出框内的内容进行交互,而您无法有效地使用 Highcharts 工具提示(例如单击链接)进行交互。

我遇到的问题是访问单独的 rect DOM 元素以添加必要的属性,例如 rel="popover"data-content="foo",这将使这项工作发挥作用。

我有一个JSFiddle,其中有悬停事件的伪代码。

如果有任何建议,我将不胜感激。

谢谢!

【问题讨论】:

    标签: jquery twitter-bootstrap highcharts


    【解决方案1】:

    你需要做两件事:

    1. 加载图表后附加弹出框
    2. 确保弹出框没有附加到 SVG 中

          chart: {
              renderTo: 'container',
              type: 'bar',
              events: {
                  load: function(e) {
                      $(".highcharts-tracker rect").popover({trigger:'hover', placement:'bottom', title:'Title!', content:'Content'}).hover(function() {
                          $('.popover').appendTo($(document.body));
                      });
                  }
              }
          },
      

    如果您希望它在点击时触发,则只需将其更改为:

                        $(".highcharts-tracker rect").popover({trigger:'click', placement:'bottom', title:'Title!', content:'Content'}).click(function() {
                            $('.popover').appendTo($(document.body));
                        });
    

    您必须进一步修改此代码以满足您的需要,但这应该有助于您开始。

    工作示例:JSfiddle

    【讨论】:

    • 感谢 Voitek!这绝对是朝着正确的方向发展 :) 你知道我如何使用这种方法访问series.point.marker 对象吗?我很抱歉没有在我的描述中添加这一点。
    • 我不确定我是否理解。当您将鼠标悬停在其他东西(不是栏?)上时,您想显示弹出框吗?如果您只想在事件中访问 series.points,那么您可以通过在悬停/单击事件中访问 e.delegateTarget.series 来实现。
    • 是的,我有兴趣访问系列中的点数据。明天早上我会试试这个。谢谢!
    • 谢谢...它成功了!任何可以调整它的机会,以便弹出框适用于click 事件。我尝试将trigger 更改为click,但随后整个事情都中断了。
    • 甜蜜!感谢您的所有帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 2013-01-22
    • 2013-10-30
    • 1970-01-01
    • 2013-08-09
    相关资源
    最近更新 更多