javascript - 谷歌图表 - 绘制后运行功能

标签 javascript jquery google-visualization asynccallback

使用谷歌图表,在绘制完成后尝试从图表中获取值,我知道我需要制作一个回调函数,该函数将在“绘制”完成后运行 - 但我无法让它工作... 我在哪里调用函数“afterDraw”以使其在函数“draw”完成后运行? 请帮忙.. 谢谢:)

google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);

function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addColumn('number', 'Stam');
data.addRows([
  ['Mushrooms', 3,5],
  ['Onions', 1,7],
  ['Olives', 1,3],
  ['Zucchini', 1,5],
  ['Pepperoni', 2,8]
]);

var options = {'title':'How Much Pizza I Ate Last Night',
               'height':500};

var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
chart.draw(data, options);

}
function afterDraw(){
    alert('all done');
}
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<div id="chart_div"></div>

最佳答案

在创建图表之后和绘制之前

'ready' 事件添加监听器

这会在绘制图表时通知您

google.visualization.events.addListener(chart, 'ready', afterDraw);

请参阅以下工作片段...

google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);

function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addColumn('number', 'Stam');
data.addRows([
  ['Mushrooms', 3,5],
  ['Onions', 1,7],
  ['Olives', 1,3],
  ['Zucchini', 1,5],
  ['Pepperoni', 2,8]
]);

var options = {'title':'How Much Pizza I Ate Last Night',
               'height':500};

var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));

google.visualization.events.addListener(chart, 'ready', afterDraw);

chart.draw(data, options);

}
function afterDraw(){
    console.log('all done');
}
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<div id="chart_div"></div>

关于javascript - 谷歌图表 - 绘制后运行功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39719846/

相关文章:

javascript - 当使用 jquery 从下拉列表中选择一个值时,将输入文本设置为只读

javascript - 为什么自定义工具提示不显示?

javascript - 我如何在此模板字符串中创建条件?

javascript - 如何使用 loadash/javascript 嵌套多个 groupby

javascript - Android 设备方向 compass

javascript - Google 饼图图例导航图标颜色

r - ggplot2 相当于 R 中 googleVis 中的 'factorization or categorization'

javascript - [Vue 警告] : Invalid prop: type check failed for prop "disabled". 预期 bool 值,得到函数

php - 在摘要页面上显示复选框选择

javascript - 隐藏和显示 div 只能运行一次