【发布时间】:2014-05-15 19:36:33
【问题描述】:
当我单击下拉列表中的某个项目时,我遇到了 place_changed 事件未触发的问题。如果我右键单击一个项目,那么它会触发。如果我左键单击,它有时会触发,但只有大约 10% 的时间。
我查看了是否有任何听众可能会干扰,但我没有看到任何听众。如果我追踪谷歌地图代码,我可以看到点击事件似乎正在触发,但它没有检测到位置字段中的更改,因此不会触发 place_changed。所以似乎有些东西阻止了位置值的设置。
这是设置自动完成和设置监听器的代码。
function initAnyGoogleAutocomplete(searchBoxElementId, placeChangedCallbackFunction) {
google.maps.event.clearListeners(document.getElementById(searchBoxElementId), 'place_changed');
var searchBoxReferenceVar = new google.maps.places.Autocomplete(document.getElementById(searchBoxElementId),
{
bounds: map.getBounds(),
componentRestrictions: {country: 'us'}
});
google.maps.event.addListener(searchBoxReferenceVar, 'place_changed', placeChangedCallbackFunction);
return searchBoxReferenceVar;
}
【问题讨论】: