![](/img/trans.png)
[英]Javascript add event listener in a foreach loop only last entry works
[英]Event listener only attaches to the last entry in the loop
按照本教程,还附带小提琴,我想将事件侦听器附加到每个标记对象。 完成的方式是我循环遍历我的 Json 对象,同时循环将事件处理程序附加到每个标记对象。 我正在做确切的事情,但使用 Json 而不是 XML。 代码基本相同,除了索引是如何发生的。 我使用 jquery 中的getJSON
而不是downloadURL
。 例如:
const arr = json;
for (var r of arr){
id = r.id;
.....
.....
var marker = new google.maps.Marker({
map: map,
position: point,
label: icon.label
});
marker.addListener('click', function() {
infoWindow.setContent(infowincontent);
infoWindow.open(map, marker);
}
我已经调试了这部分并确保对象( id
, address
)都是正确的。 问题是,当我单击任何标记时,事件侦听器似乎只附加到循环中的最后一个条目。 似乎可以使用 XML,为什么不能使用 Json 格式?
不得不使用let
而不是var
。 感谢jaromanda-x 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.