并非所有事件都按下按钮点击

时间:2014-04-20 17:03:56

标签: javascript onclick google-visualization getjson pie-chart

编辑: 我已经修复了代码,以便回调函数在函数外部调用drawChart,实际上它可以在按钮点击时工作。但是,我发生了两件事,只需点击一下按钮即可。

我使用$.get来获取已加载到数组服务器端(nodejs)的数据,然后将此数据的响应发送到饼图。我在命令提示符内或浏览器内的控制台上没有收到任何错误,因此我不知道为什么两个.click操作都没有触发。

首先,饼图不起作用,但后来我调整它以使图表在按钮点击时在正确的时间绘制,现在图表工作,但不是其他动作。

此外,按钮点击是否无法有多个$.get请求?我没有在下面的代码中完全实现它,但我最终试图这样做。 (在第一次请求时,我向客户端javascript发送一系列推文进行解析,第二次请求我将一组其他分析数据发送到客户端javascript以放入饼图可视化中)

以下是一些代码:

$("#startButton").click(function() {
    $.get( "/startButton", success);
    function success(data){ ... code inside creates html for 2 divs..., has been working }
});

function drawChart() {
    var data = google.visualization.arrayToDataTable(
    //chartData);
    [
    ['Task', 'Hours per Day'],
    ['Work',     11],
    ['Eat',      2],
    ['Commute',  2],
    ['Watch TV', 2],
    ['Sleep',    7]
    ]);
    var options = {
        title: 'Retweets versus Original Tweets'
    };
    var chart = new google.visualization.PieChart(document.getElementById('piechart'));
    chart.draw(data, options);
}
function initialize() {
    $('#startButton').click(function() {
        drawChart();
    });
}
google.setOnLoadCallback(initialize);
google.load("visualization", "1", {packages:["corechart"]});

1 个答案:

答案 0 :(得分:0)

根本没有调用函数drawChart()。这应该有效:

//    $(document).ready(function() {

google.load("visualization", "1", {packages:["corechart"]});

function drawChart() {
    var data = google.visualization.arrayToDataTable(
    //chartData);
    [
    ['Task', 'Hours per Day'],
    ['Work',     11],
    ['Eat',      2],
    ['Commute',  2],
    ['Watch TV', 2],
    ['Sleep',    7]
    ]);
    var options = {
      title: 'Retweets versus Original Tweets'
    };

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

    //google.setOnLoadCallback(drawChart);
}
google.setOnLoadCallback(drawChart);

//});