2016-05-31 20 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