highcharts / stock charts自定义工具栏按钮文本/标题

时间:2012-09-27 15:14:12

标签: highcharts highstock

我想知道如何自定义自定义按钮的工具提示。

自定义按钮的所有示例都与this _titleKey: 'printButtonTitle'

类似

将此设置为其他任何内容会导致undefined作为工具提示。我花了一段时间来查看创建它的位置,但无法找到它。

此外,虽然使用类似id的内容并将其替换为jquery $('#foo-button title').html('yey');,但自定义按钮没有分配ID。

2 个答案:

答案 0 :(得分:6)

虽然接受了答案,但我想提出一个替代解决方案。 Highcharts确实为自定义按钮设置自定义标题提供了一种方法(遗憾的是,没有详细记录)。 Highchart从其全局语言对象Highchart.lang中读取字符串。要拥有自定义标题,您需要使用Highcharts.setOptions()全局方法将按钮标题添加为此属性中的新属性(您可以按名称调用新属性,但保留的属性除外),如下所示

Highcharts.setOptions({
    lang: {
        myButtonTitle: "Don't Click"
    }
});

要记住的一件事是这是一个全局属性,因此需要在进行构造函数调用之前进行设置,并且必须在Highcharts命名空间中调用它,而不是作为单独的图表选项的一部分。

现在,您可以在按钮中使用上面设置的标题,方法是为按钮指定_titleKey属性,其值与上面用于设置名称的键相对应

exporting: {
    buttons: {
        'myButton': {
            _id: 'myButton',
            symbol: 'diamond',
            x: -62,
            symbolFill: '#B5C9DF',
            hoverSymbolFill: '#779ABF',
            onclick: function() {
                alert('click!')
            },
            _titleKey: "myButtonTitle"

        }
    }
}

Custom Button Title | Highcharts & Highstock @ jsFiddle

答案 1 :(得分:2)

您可以使用id为该按钮设置_id,然后使用jQuery进行更新。

exporting: {
    buttons: {
        'myButton': {
            _id: 'myButton',
            symbol: 'diamond',
            x: -62,
            symbolFill: '#B5C9DF',
            hoverSymbolFill: '#779ABF',
            onclick: function() {
                alert('click!')
            }
        }
    }
}

var buttonTitle = 'updated title';
jQuery("#myButton").attr('title', buttonTitle).children().text(buttonTitle);

demo