Google 图表 "select" 事件触发多次

Google Charts "select" event firing multiple times

我正在使用 Google 可视化 API 中的柱形图,并设置了一个“点击”事件,以便在我点击其中一列时使用:

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

但是,每当我 select 图表中的一个柱时,它就会触发 4 次。这也恰好是我在图表中的行数 - 这可以连接吗?

提前致谢。

回答: 我发现了问题 - 有两个。首先,此 js 文件的 html 文件两次加载相同的 js 代码 - 一次用于 ios,一次用于 android,但在浏览器上加载两者,因此两次添加相同的事件侦听器. 此外,还使用了这两种设置 onLoad 回调的方法:

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

google.setOnLoadCallback(drawAll);

如果我没记错的话,后者是一个已弃用的版本。

因此,创建事件侦听器的 drawAll 函数最终被调用了 4 次,因此我为同一事件设置了 4 个事件侦听器,它们都执行相同的代码。