Der*_*erk 10 javascript google-maps dom-events
我的代码
//执行ajax请求并获取JSON响应
for (var i = 0; i < data.results.length; i++) {
result = data.results[i];
// do stuff and create google maps marker
marker = new google.maps.Marker({
position: new google.maps.LatLng(result.lat, result.lng),
map: map,
id: result.id
});
google.maps.event.addListener(marker, 'click', function() {
createWindow(marker.id); //<==== this doesn't work because marker always points to the last results when this function is called
});
}
Run Code Online (Sandbox Code Playgroud)
怎么解决这个?
nlo*_*gax 24
试试这个:
with ({ mark: marker }) {
google.maps.event.addListener(mark, 'click', function() {
createWindow(mark.id);
});
}
Run Code Online (Sandbox Code Playgroud)
一个演示如下使用的示例with
:
for (var i = 0; i < 10; i++) {
setTimeout(function() { console.log(i); }, 1000);
}
Run Code Online (Sandbox Code Playgroud)
以上将记录10
十次.
for (var i = 0; i < 10; i++) {
with ({ foo: i }) {
setTimeout(function() { console.log(foo); }, 1000);
}
}
Run Code Online (Sandbox Code Playgroud)
这将记录0
到9
,根据需要,由于with
引入一个新的范围.
JavaScript 1.7有一个let
更好的语句,但在广泛支持之前,您可以使用with
.
并var
用于您的变量.
归档时间: |
|
查看次数: |
13961 次 |
最近记录: |