我正在使用 Google Visualization API 中的柱形图,并设置了一个“点击”事件,当我单击其中一列时,如下所示:
google.visualization.events.addListener(chart, 'select', function(event) {
if (!isWebview) {
log.logInfo("Selected Sum");
$("#reportBody").trigger("app:update", { toXYZ: true});
} else {
}
});
但是,每次我在图表中选择一个条形图时,都会触发 4 次。这也恰好是我在图表中的行数 - 这可以连接起来吗?
提前致谢。
最佳答案
答案:
我发现了问题——有两个。首先,该 js 文件的 html 文件加载了相同的 js 代码两次 - 一次用于 ios,一次用于 android,但在浏览器上加载了两者,因此添加了相同的事件监听器两次。
此外,还使用了这两种设置 onLoad
回调的方法:
google.charts.load('visualization', '1', {
'packages': ['corechart', 'table'],
'callback': drawAll
});
和
google.setOnLoadCallback(drawAll);
如果我没记错的话,后者是一个已弃用的版本。
因此,创建事件监听器的 drawAll
函数最终被调用了 4 次,因此我对同一个事件有 4 个事件监听器,它们都执行相同的代码。
关于google-visualization - Google Charts "select"事件多次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67093332/