2016-05-31 76 views
3

我想显示一个模式与某些信息时,谷歌饼图的特定片选中。当连续选择不同的切片时,代码工作正常,但当第二次连续选择相同的切片时,事件未被触发。立即选择同一片谷歌饼图不识别

google.visualization.events.addListener(chart, 'select', selectHandler); 
function selectHandler() 
        { 
         var selectedItem = chart.getSelection()[0]; 
         if (selectedItem) 
         { 
          alert("here"); 
         } 
        } 

回答

3

事件解雇,但片点击第二次,它是联合国 - 请选择。

你应该检查选择的长度试图访问前 - >[0]

看下面的例子...

google.charts.load('current', { 
 
    callback: function() { 
 
    var data = google.visualization.arrayToDataTable([ 
 
     ['Task', 'Hours per Day'], 
 
     ['Work',  12], 
 
     ['Eat',  2], 
 
     ['Drink',  1], 
 
     ['Commute', 1], 
 
     ['Surf',  1], 
 
     ['Watch TV', 1], 
 
     ['Sleep',  6] 
 
    ]); 
 

 
    var pieChart = new google.visualization.PieChart(document.getElementById('piechart')); 
 
    google.visualization.events.addListener(pieChart, 'select', function() { 
 
     document.getElementById('selection').innerHTML = 'Items selected: ' + pieChart.getSelection().length; 
 
    }); 
 
    pieChart.draw(data, {}); 
 
    }, 
 
    packages: ['corechart'] 
 
});
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="piechart"></div> 
 
<div id="selection"></div>

+0

谢谢!这个解释确实有助于:) – monsoonrainbow