我使用以下代码:
function eventListenerTest(event) {
if (document.getElementById('gem_cvo_select_list')) {
var address;
$.getJSON(url, function (data) {
address = data.rows[0];
alert("This gets executed afterwards");
});
alert("This gets executed first");
event.infoWindowHtml = "<b>Address: </b>" + address;
}
}
问题是 $.getJSON 函数在 infoWindow 中使用“address”变量后执行。修改代码如下:
function eventListenerTest(event) {
if (document.getElementById('gem_cvo_select_list')) {
var address;
$.getJSON(url, function (data) {
address = data.rows[0];
event.infoWindowHtml = "<b>Address: </b>" + address;
});
}
}
“事件”对象似乎无法通过这种方式访问(Google map 信息窗口中没有显示任何内容)。我认为我应该能够将“事件”传递给 JSON 内的函数,但我不知道如何实现这一点。
最佳答案
试试这个:
function eventListenerTest(event, callback) {
if (document.getElementById('gem_cvo_select_list')) {
var address;
$.getJSON(url, function (data) {
address = data.rows[0];
event.infoWindowHtml = "<b>Address: </b>" + address;
callback();
});
}
}
然后:
eventListenerTest(event, function(){
// you will use updated event object here
});
关于javascript - $.getJSON 函数在其他所有操作之后执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768223/