Javascript Chart.js-圆环显示活动段工具提示(单击外部按钮)

Javascript Chart.js-圆环显示活动段工具提示(单击外部按钮),javascript,chart.js,Javascript,Chart.js,请看 如果单击甜甜圈段,将显示相应的工具提示,这是正确的功能 问题在于,当用户单击油炸圈饼下面的一个按钮时,会触发所需的功能。例如,当用户单击“触发段1单击”按钮时。工具提示应该显示在段1上方(就像用户单击了段1一样) 一个额外的好处是,工具提示最初也会显示在段1上方,但不是必需的 非常感谢您的帮助:) 请注意 使用Chart.jsv2.5.0。我读过一些建议使用showTooltip()方法的文章,例如chart.showTooltip([chart.segments[0]],true);不幸

请看

如果单击甜甜圈段,将显示相应的工具提示,这是正确的功能

问题在于,当用户单击油炸圈饼下面的一个按钮时,会触发所需的功能。例如,当用户单击“触发段1单击”按钮时。工具提示应该显示在段1上方(就像用户单击了段1一样)

一个额外的好处是,工具提示最初也会显示在段1上方,但不是必需的

非常感谢您的帮助:)

请注意

使用Chart.jsv2.5.0。我读过一些建议使用showTooltip()方法的文章,例如chart.showTooltip([chart.segments[0]],true);不幸的是,此版本中不存在此方法


找到此项,但将显示所有工具提示。只需要显示活动(当前)段的工具提示。

单击外部按钮时,可以使用以下功能显示相应的工具提示:

// ignore this comment - required to post the following jsfiddle.net link!
调用函数时,将图表实例和按钮索引分别作为第一个和第二个参数传递

奖金:

要最初显示段1的工具提示,请在图表选项中添加以下配置:

function showTooltip(chart, index) {
   var segment = chart.getDatasetMeta(0).data[index];
   chart.tooltip._active = [segment];
   chart.tooltip.update();
   chart.draw();
}
*在全局范围内声明名为
ischartredered
的变量,并将其设置为
false

ᴡᴏʀᴋɪɴɢ ᴇxᴀᴍᴘʟᴇ ⧩

var=false;
var ctx=document.getElementById('myChart').getContext('2d');
var myChart=新图表(ctx{
键入:“甜甜圈”,
数据:{
标签:[“段1”、“段2”、“段3'],
数据集:[{
数据:[10,10,10]
}]
},
选项:{
事件:[“单击”],
门诊量:70,
图例:{
显示:假
},
工具提示:{
显示颜色:false
},
onClick:function(evt,elements){},
//奖励:最初显示段1工具提示
动画:{
onComplete:function(){
如果(!isChartRendered){
显示工具提示(myChart,0);
isChartRendered=true;
}
}
}
}
});
$(文档)。在('单击','按钮',函数()上){
变量$this=$(this),
index=$this.index();
显示工具提示(我的图表、索引);
});
函数显示工具提示(图表、索引){
var段=chart.getDatasetMeta(0).data[索引];
图表。工具提示。_活动=[段];
chart.tooltip.update();
chart.draw();
}

触发段1点击
触发段2点击
触发段3点击

单击外部按钮时,可以使用以下功能显示相应的工具提示:

// ignore this comment - required to post the following jsfiddle.net link!
调用函数时,将图表实例和按钮索引分别作为第一个和第二个参数传递

奖金:

要最初显示段1的工具提示,请在图表选项中添加以下配置:

function showTooltip(chart, index) {
   var segment = chart.getDatasetMeta(0).data[index];
   chart.tooltip._active = [segment];
   chart.tooltip.update();
   chart.draw();
}
*在全局范围内声明名为
ischartredered
的变量,并将其设置为
false

ᴡᴏʀᴋɪɴɢ ᴇxᴀᴍᴘʟᴇ ⧩

var=false;
var ctx=document.getElementById('myChart').getContext('2d');
var myChart=新图表(ctx{
键入:“甜甜圈”,
数据:{
标签:[“段1”、“段2”、“段3'],
数据集:[{
数据:[10,10,10]
}]
},
选项:{
事件:[“单击”],
门诊量:70,
图例:{
显示:假
},
工具提示:{
显示颜色:false
},
onClick:function(evt,elements){},
//奖励:最初显示段1工具提示
动画:{
onComplete:function(){
如果(!isChartRendered){
显示工具提示(myChart,0);
isChartRendered=true;
}
}
}
}
});
$(文档)。在('单击','按钮',函数()上){
变量$this=$(this),
index=$this.index();
显示工具提示(我的图表、索引);
});
函数显示工具提示(图表、索引){
var段=chart.getDatasetMeta(0).data[索引];
图表。工具提示。_活动=[段];
chart.tooltip.update();
chart.draw();
}

触发段1点击
触发段2点击
触发段3点击

效果很好。谢谢:)效果很好。谢谢:)