javascript - highcharts dataLabels 支持 RTL 并启用悬停以显示工具提示

标签 javascript highcharts tooltip right-to-left

我使用 highcharts ,并且需要pie图表中的tooltipdataLabels
我在 RTL 方向上遇到 dataLabels 问题。

我使用这个配置:

plotOptions: {
    pie: {
        allowPointSelect: true,
        cursor: 'pointer',
        dataLabels: {
            enabled: true,
             style: {
                fontSize: '15px',
                fontFamily: 'tahoma',
                direction: 'rtl',
            },
        },
    },
},

结果有一个错误,您可以在这张图片中看到:

enter image description here

在线查看:https://jsfiddle.net/NabiKAZ/h4kv0t9v/

作为研究和推荐RTL 模式的官方网站,我启用了useHTML: true:

enter image description here

结果正常,但数据标签不支持鼠标悬停显示工具提示!

在线查看:https://jsfiddle.net/NabiKAZ/h4kv0t9v/1/

然后我尝试使用 useHTML: false 删除 direction: rtl:

enter image description here

如您所见,数据标签在默认 LTR 模式下显示,但支持鼠标悬停和可单击以显示工具提示。

在线查看:https://jsfiddle.net/NabiKAZ/h4kv0t9v/2/

确定是highcharts的bug,希望官网能解决。

但现在我需要 RTL 模式下的数据标签,悬停时显示默认工具提示,还可以点击以关注相关数据系列。
我该如何解决?!

最佳答案

我找到了一个简单的解决方案。

在这种情况下,只需使用 RLE (Start of right-to-left embedding) dataLabels 文本中的控制字符。

plotOptions: {
    pie: {
        dataLabels: {
            format: '\u202B' + '{point.name}', // \u202B is RLE char for RTL support

但是在IE9EDGE 浏览器中出现了两个bug。为了解决这些问题,请执行以下解决方案。

IE9EDGE 的标题中需要这个:

title: {
    useHTML: true, //bug fixed `IE9` and `EDGE`

需要为 IE9EDGE 禁用 dataLabelstextShadow:

plotOptions: {
    pie: {
        dataLabels: {
            style: {
                textShadow: false, //bug fixed IE9 and EDGE

完成的代码在线查看:https://jsfiddle.net/NabiKAZ/h4kv0t9v/4/

关于javascript - highcharts dataLabels 支持 RTL 并启用悬停以显示工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37380116/

相关文章:

php - 将外部 php 加载到工具提示 div

javascript - Cordova:未捕获的 ReferenceError:Chbrody 未使用 SQLitePlugin.js 定义 PhoneGap

javascript - 用于下拉菜单的 JQuery 选择器

javascript - 使用混合字符对 JavaScript 数组进行排序

charts - Apex 图表工具提示格式化程序 : how to convert number to string

javascript - HTML - 如何仅在激活省略号时显示工具提示

javascript - "Script"范围下的类别

javascript - 当值低于前一个值时,有没有办法在 Highcharts 中动态创建情节线?

Highcharts JSON 调用的 javascript 关联数组、循环和/或范围问题

javascript - 动态更改的 Firebase URL