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;
}
这太完美了!谢谢你的帮助。