下面是我正在尝试运行的一个简化版本:for (var i = 0; i < results.length; i++) {
marker = results[i];
google.maps.event.addListener(marker, 'click', function() {
change_selection(i);
}); }但是,我发现每个侦听器都使用结果长度的值(for循环结束时的值)。如何添加监听器,使每个侦听器在我添加时使用i的值,而不是使用对i的引用?
3 回答
繁华开满天机
TA贡献1816条经验 获得超4个赞
let
const
for (let i = 0; i < results.length; i++) { let marker = results[i]; google.maps.event.addListener(marker, 'click', () => change_selection(i));}
for (var i = 0; i < results.length; i++) { (function (i) { marker = results[i]; google.maps.event.addListener(marker, 'click', function() { change_selection(i); }); })(i);}
添加回答
举报
0/150
提交
取消