Luke B
Luke B

Reputation: 308

Google Charts "select" event firing multiple times

I am using a Column chart from the Google Visualization API, and have set up a "click" event for when I click on one of my columns as so:

    google.visualization.events.addListener(chart, 'select', function(event) {
    if (!isWebview) { 
        log.logInfo("Selected Sum");
        $("#reportBody").trigger("app:update", { toXYZ: true});
    } else { 
    }
});

However, this fires 4 times every time that I select a bar in the chart. This also happens to be the amount of rows that I have in the chart - could this be connected?

Thanks in advance.

Upvotes: 2

Views: 342

Answers (1)

Luke B
Luke B

Reputation: 308

Answer: I found the problem - there were two. Firstly, the html file for this js file loaded the same js code twice - once for ios and once for android, but on the browser loads both, thus adding the same event listeners twice. Furthermore, both these ways of setting the onLoad callback were used:

google.charts.load('visualization', '1', {
'packages': ['corechart', 'table'],
'callback': drawAll
});

and

google.setOnLoadCallback(drawAll);

The latter of which is a deprecated version if I'm not mistaken.

Therefore, the drawAll function, which creates the event listener, ended up being called 4 times, so I had 4 event listeners for the same event, all executing the same code.

Upvotes: 2

Related Questions