【问题标题】:display pointlabel in highlighter jqplot在荧光笔 jqplot 中显示点标签
【发布时间】:2012-07-27 09:19:27
【问题描述】:

我在图表上有很多系列,只有两个点来模拟时间线。这些点有一个点标签。我想在荧光笔中显示该点标签的名称。我该怎么做?

请看我的 JsFiddle http://jsfiddle.net/NVbjv/8/

我尝试为每个系列添加一个荧光笔对象,并给它一个格式字符串。但是我怎样才能让它更有活力呢?

我也喜欢只在右下角的悬停框中显示时间。如何删除“,1”和“,2”?

【问题讨论】:

    标签: javascript hover label jqplot jqplot-highlighter


    【解决方案1】:

    我想到的唯一想法是使用荧光笔和光标工具提示的自定义处理。类似as it is presented here.

    在您的情况下,您将应用以下代码:

    $("#container").bind('jqplotMouseMove', function(ev, gridpos, datapos, neighbor, plot) {
        var date = new Date(datapos.xaxis);
        var time = "" + (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":" + (date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes());
        $(".jqplot-cursor-tooltip").html(time + "  Oi");
        if (neighbor) {
            $(".jqplot-highlighter-tooltip").html("Label name= " + neighbor.data[2] + ";  time= " + time);
        }
    });
    

    The working code sample is available here.


    编辑: 在 Chrome 中,我注意到为 pointLabels 打印了 null,因此使用空字符串作为它们的值。

    【讨论】:

    • 感谢您的回答。起初它可以工作,但在使用缩放功能后,绑定事件会丢失或被荧光笔配置的设置覆盖。任何想法如何解决这个问题?
    • @Jeroen 尝试使用 jQuery 的 'on' 方法而不是 'bind' 解释和示例在 this very nice article 中,这也将向您解释它们之间的区别。
    • 我在你的代码示例中试过这个,但它不起作用。点标签仍会在缩放时重置。为这些标签禁用任何其他格式的东西也无济于事。恐怕这需要更多深入研究。
    • 啊,看完这篇文章后(谢谢!)我把代码改成了:$(document).on("jqplotMouseMove", "#container", ... 这行得通!
    • @Jeroen 很高兴听到它有帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    相关资源
    最近更新 更多