Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在谷歌图表中添加自定义工具提示的超链接_Javascript_Jquery_Google Visualization - Fatal编程技术网

Javascript 在谷歌图表中添加自定义工具提示的超链接

Javascript 在谷歌图表中添加自定义工具提示的超链接,javascript,jquery,google-visualization,Javascript,Jquery,Google Visualization,使用它,我可以模拟在选择谷歌时间线图表时显示工具提示。这个问题是,我计划在工具提示中有一个邮件链接供用户点击。但是,在我的函数createtooltip()中,工具提示已创建,但我无法单击联系人链接。正确的方法是什么 编辑:我也尝试过,但在时间线图表中不受支持 google.setOnLoadCallback(drawVisualization); 函数drawVisualization(){ var container=document.getElementById('timeline');

使用它,我可以模拟在选择谷歌时间线图表时显示工具提示。这个问题是,我计划在工具提示中有一个邮件链接供用户点击。但是,在我的函数
createtooltip()
中,工具提示已创建,但我无法单击联系人链接。正确的方法是什么

编辑:我也尝试过,但在时间线图表中不受支持

google.setOnLoadCallback(drawVisualization);
函数drawVisualization(){
var container=document.getElementById('timeline');
var chart=newgoogle.visualization.Timeline(容器);
var dataTable=new google.visualization.dataTable();
dataTable.addColumn({
键入:“字符串”,
id:'总统'
});
addColumn({type:'string',id:'Name'});
addColumn({type:'string',role:'tooltip',p':{'html':true}});
dataTable.addColumn({
键入:“日期”,
id:“开始”
});
dataTable.addColumn({
键入:“日期”,
id:'结束'
});
dataTable.addRows([
['Washington','test',createToolTip(),新日期(1789,3,30),新日期(1797,2,4)],
['Adams','test',createToolTip(),新日期(1797,2,4),新日期(1801,2,4)],
['Jefferson','test',createToolTip(),新日期(1801,2,4),新日期(1809,2,4)]
]);
//选择处理程序
google.visualization.events.addListener(图表“选择”,函数(e){
//内置的工具提示
var tooltip=document.querySelector('.google可视化工具提示:not([clone]);
//如果存在任何克隆,请删除以前的克隆
if(chart.ttclone){
chart.ttclone.parentNode.removeChild(chart.ttclone)
}
//创建内置工具提示的克隆
chart.ttclone=tooltip.cloneNode(true);
//创建一个自定义属性,以便能够区分
//内置工具提示和克隆
chart.ttclone.setAttribute('clone',true);
//将克隆插入到文档中
tooltip.parentNode.insertBefore(chart.ttclone,chart.tooltip);
});
draw(dataTable,{tooltip:{isHtml:true}});
}
函数createToolTip(){
var mainDiv='';
变量表=
“
    ”+ “
  • ”+ '' + '' + '' + “
  • ”+ “
”; var endMainDiv=''; 变量工具提示=mainDiv+list+endMainDiv; 返回工具提示; }
.google可视化工具提示{
不透明度:0!重要;
最大宽度:200px!重要;
}
.google可视化工具提示[克隆]{
不透明度:1!重要;
}
html,
身体,
时间线{
宽度:100%;
身高:100%;
保证金:0;
填充:0;
}

外观默认设置为
'none'

在将克隆注入回dom之前,请更改为
'auto'

//inject clone into document
chart.ttclone.style.pointerEvents = 'auto';
tooltip.parentNode.insertBefore(chart.ttclone, chart.tooltip);
请参阅以下工作片段

google.charts.load('current'{
回调:函数(){
var container=document.getElementById('timeline');
var chart=newgoogle.visualization.Timeline(容器);
var dataTable=new google.visualization.dataTable();
dataTable.addColumn({
键入:“字符串”,
id:'总统'
});
addColumn({type:'string',id:'Name'});
addColumn({type:'string',role:'tooltip',p':{'html':true}});
dataTable.addColumn({
键入:“日期”,
id:“开始”
});
dataTable.addColumn({
键入:“日期”,
id:'结束'
});
dataTable.addRows([
['Washington','test',createToolTip(),新日期(1789,3,30),新日期(1797,2,4)],
['Adams','test',createToolTip(),新日期(1797,2,4),新日期(1801,2,4)],
['Jefferson','test',createToolTip(),新日期(1801,2,4),新日期(1809,2,4)]
]);
//选择处理程序
google.visualization.events.addListener(图表“选择”,函数(e){
//内置的工具提示
var tooltip=document.querySelector('.google可视化工具提示:not([clone]);
//如果存在任何克隆,请删除以前的克隆
if(chart.ttclone){
chart.ttclone.parentNode.removeChild(chart.ttclone)
}
//创建内置工具提示的克隆
chart.ttclone=tooltip.cloneNode(true);
//创建一个自定义属性,以便能够区分
//内置工具提示和克隆
chart.ttclone.setAttribute('clone',true);
//将克隆插入到文档中
chart.ttclone.style.pointerEvents='auto';
tooltip.parentNode.insertBefore(chart.ttclone,chart.tooltip);
});
函数createToolTip(){
var mainDiv='';
变量表=
“
    ”+ “
  • ”+ '' + '' + '' + “
  • ”+ “
”; var endMainDiv=''; 变量工具提示=mainDiv+list+endMainDiv; 返回工具提示; } draw(dataTable,{tooltip:{isHtml:true}}); }, 软件包:[“时间线”] });
.google可视化工具提示{
不透明度:0!重要;
最大宽度:200px!重要;
}
.google可视化工具提示[克隆]{
不透明度:1!重要;
}
html,
身体,
时间线{
宽度:100%;
身高:100%;
保证金:0;
填充:0;
}

这太完美了!谢谢你的帮助。