google地图Autocomplete怎么区分开blur和place_changed事件?
我需要在未选择谷歌自动完成的下拉列表时触发blur
事件,用 new google.maps.Geocoder().geocode
API返回的数据
在选择下拉列表的地址使用place_changed事件返回的数据
在输入框blur
事件触发的时候,如何分辨有没有触发place_changed
的事件呢?place_changed
触发得比blur
得晚,而且是个异步的事件,感觉不好判断啊
Geocomplete.prototype.init = function () {
var _this = this;
_this.autocomplete = new google.maps.places.Autocomplete(_this.dom, {
types: ['geocode'],
componentRestrictions: {
country: 'au'
}
});
_this.autocomplete.setFields([
'address_component',
'geometry',
'formatted_address'
]);
// Google 搜索出来的下拉列表点击后才会触发的事件,是一个异步的
_this.autocomplete.addListener('place_changed', _this.fillInAddress.bind(_this));
// 搜索输入框 Blur 事件
_this.dom.addEventListener('blur', _this.test.bind(_this));
/**
* 我需要在未触发 place_changed 事件的情况下失去焦点的时候, 触发Blur
* 在触发 place_changed 后 就不需要触发 blur事件了
* place_changed 是个异步的,会比Blur晚触发
*/
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论