下面是我正在尝试运行的一个简化版本: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个赞
letconst
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
提交
取消
