0

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

自定义按钮的所有示例都是这样_titleKey: 'printButtonTitle'

将此设置为其他任何内容都会导致undefined工具提示。我花了一段时间查看创建它的源代码但找不到它。

虽然使用类似 id 的东西并用 jquery 替换它,$('#foo-button title').html('yey');但自定义按钮没有分配 id。

4

2 回答 2

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"

        }
    }
}

自定义按钮标题 | Highcharts & Highstock @ jsFiddle

于 2012-09-27T18:16:51.133 回答
3

您可以使用 jQuery 设置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);

演示

于 2012-09-27T17:26:26.380 回答